标签:
Time Limit: 1000MS | Memory Limit: 30000K | |
Total Submissions: 6373 | Accepted: 3760 |
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
快速幂裸题,暴力算的话会TLE。
1 //快速幂 2 #include<algorithm> 3 #include<iostream> 4 #include<cstdio> 5 #include<cstring> 6 #include<cmath> 7 using namespace std; 8 int Z,M; 9 int n; 10 int sum; 11 int a,b; 12 int ksm(int a,int b){ 13 int now=a%M; 14 int res=1; 15 while(b){ 16 if(b&1)res=res*now%M; 17 now=now*now%M; 18 b>>=1; 19 } 20 return res; 21 } 22 int main(){ 23 scanf("%d",&Z); 24 while(Z--){ 25 sum=0; 26 scanf("%d",&M); 27 scanf("%d",&n); 28 int i,j; 29 for(i=1;i<=n;i++){ 30 scanf("%d%d",&a,&b); 31 sum=(sum+ksm(a,b))%M;//累加 32 } 33 printf("%d\n",sum); 34 } 35 return 0; 36 }
POJ1995 Raising Modulo Numbers
标签:
原文地址:http://www.cnblogs.com/SilverNebula/p/5638779.html