思路:快速幂
代码如下:
#include<iostream>
#include<cstdio>
using namespace std;
int m;
int pow(int a,int b){
a%=m;
int tmp=1;
while(b){
if(b&1)tmp*=a;
tmp%=m;
b>>=1;
a=a*a;
a%=m;
}
return tmp;
}
int main(){
// freopen("data.txt","r",stdin);
int z;
scanf("%d",&z);
while(z--){
scanf("%d",&m);
int h;
scanf("%d",&h);
int sum=0;
for(int i=0;i<h;++i){
int a,b;
scanf("%d%d",&a,&b);
sum+=pow(a,b);
sum%=m;
}
printf("%d\n",sum);
}
return 0;
}