Time Limit: 1000MS | Memory Limit: 30000K | |
Total Submissions: 4271 | Accepted: 2433 |
Description
Input
Output
(A1B1+A2B2+ ... +AHBH)mod M.
Sample Input
3 16 4 2 3 3 4 4 5 5 6 36123 1 2374859 3029382 17 1 3 18132
Sample Output
2 13195 13
Source
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <iostream> 5 6 using namespace std; 7 8 typedef long long ll; 9 10 int m; 11 12 ll mod_pow(ll x,ll n) { 13 ll res = 1; 14 while(n) { 15 if(n & 1) res = res * x % m; 16 x = x * x % m; 17 n >>= 1; 18 } 19 20 return res; 21 } 22 int main() { 23 // freopen("sw.in","r",stdin); 24 int z; 25 scanf("%d",&z); 26 27 while(z--) { 28 int h; 29 scanf("%d%d",&m,&h); 30 31 ll ans = 0; 32 for(int i = 1; i <= h; i++) { 33 ll a,b; 34 scanf("%I64d%I64d",&a,&b); 35 ans = (ans + mod_pow(a,b)) % m; 36 } 37 38 printf("%I64d\n",ans); 39 } 40 41 return 0; 42 43 }
原文:http://www.cnblogs.com/hyxsolitude/p/3595723.html