题意:本题给出h组数每组两个数,ai,bi,求解 ;
分析:没啥好说的,一个裸的快速幂:
Source Code
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <math.h>
#include <vector>
#include <string>
#include <utility>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
long long quick_mod(long long a,long long b,long long m)
{
long long ans=1;
while(b){
if(b&1){
ans=(ans*a)%m;
b--;
}
b/=2;
a=a*a%m;
}
return ans;
}
int main(){
int t;
scanf("%d",&t);
while(t--){
int a,b;
int m;
int h;
scanf("%d%d",&m,&h);
long long sum=0;
while(h--){
scanf("%d%d",&a,&b);
sum=(sum+quick_mod(a,b,m))%m;
}
printf("%I64d\n",sum%m);
}
return 0;
}