AcWing 5579. 增加模数 ← 使用“快读”
原题链接
简单
作者:
hnjzsyjyj
,
2024-10-23 10:31:55
,
所有人可见
,
阅读 18
本题需要使用“快读”。
题目“AcWing 5579:增加模数”的C++代码
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int MOD=233333;
int read() { //fast read
int x=0,f=1;
char c=getchar();
while(c<'0' || c>'9') { //!isdigit(c)
if(c=='-') f=-1;
c=getchar();
}
while(c>='0' && c<='9') { //isdigit(c)
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
int fastPow(LL a,LL b,LL p) {
LL ans=1;
while(b) {
if(b & 1) ans=ans*a%p;
a=a*a%p;
b>>=1;
}
return ans;
}
int main() {
int T=read();
while(T--) {
LL sum=0;
int M=read();
int H=read();
for(int i=1; i<=H; i++) {
LL a=read();
LL b=read();
sum=(sum+fastPow(a,b,M))%M;
}
cout<<sum<<endl;
}
return 0;
}
/*
in:
3
16
4
2 3
3 4
4 5
5 6
36123
1
2374859 3029382
17
1
3 18132
out:
2
13195
13
*/