NC14509. 所有情况的和
描述
输入描述
有多组测试样例,输入到文件结束。
每组测试数据的第一行包含一个正整数NN,表示装备的种类数。
接下来N行,每行两个正整数ai、bi,表示两个不同的第ii种装备的属性加成值。N∈[1,103]
ai,bi∈[1,106]
输出描述
对于每组测试数据输出一个整数,为了方便输出最终的结果先乘2N再对1e9+7取模后的值。
示例1
输入:
4 1 2 3 4 5 6 7 8
输出:
3465
说明:
3465 = (1*3*5*7) + (1*3*5*8) +(1*3*6*7) + (1*3*6*8) + (1*4*5*7) + (1*4*5*8) + (1*4*6*7) + (1*4*6*8) + (2*3*5*7) + (2*3*5*8) + (2*3*6*7) + (2*3*6*8) + (2*4*5*7) + (2*4*5*8) + (2*4*6*7) + (2*4*6*8) ;C++14(g++5.4) 解法, 执行用时: 12ms, 内存消耗: 476K, 提交时间: 2018-06-08 14:14:30
#include<iostream> using namespace std; typedef long long ll; int main() { ll n; while(cin>>n) { ll a,b,sum=1; for(ll i=0;i<n;i++) { cin>>a>>b; sum*=(a+b); sum%=1000000007; } cout<<sum<<endl; } return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 9ms, 内存消耗: 488K, 提交时间: 2019-09-04 13:46:36
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ int n,mod=1e9+7; while(cin>>n){ ll ans=1; while(n--){ ll a,b; cin>>a>>b; ans=ans*(a+b)%mod; } cout<<ans<<endl; } }
Python3(3.5.2) 解法, 执行用时: 54ms, 内存消耗: 3328K, 提交时间: 2017-12-18 09:21:24
import sys for s in sys.stdin: n = int(s[:-1]) mul = 1 for i in range(n): a, b = [int(x) for x in input().split(' ')] mul *= (a + b) mul %= 1000000007 print(mul)