题目链接
快速幂模板题,注意爆int
#include<cstdio>
typedef unsigned long long ull;
int qpow(int a,int b,int mod)
{
int ret=1;
while(b)
{
if(b&1)ret=(ull)ret%mod*(ull)a%mod;
b>>=1;
a=(ull)a%mod*(ull)a%mod;
}
return ret;
}
int main()
{
//freopen("in.txt","r",stdin);
int z;
scanf("%d",&z);
while(z--)
{
int mod,h,sum=0,a,b;
scanf("%d",&mod);
scanf("%d",&h);
for(int i=1;i<=h;i++)
{
scanf("%d%d",&a,&b);
sum=(sum%mod)+(qpow(a,b,mod)%mod);
}
printf("%d\n",sum%mod);
}
return 0;
}