Cod sursa(job #1564100)
Utilizator | Data | 8 ianuarie 2016 13:19:22 | |
---|---|---|---|
Problema | Matrice5 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <cstdio>
#define MOD 10007
inline int lgput(int a, int n){
int r=1;
while(n){
if(n%2){
r=(a*r)%MOD;
}
n/=2;
a=(a*a)%MOD;
}
return r;
}
int main(){
int t, n, m, p, k;
FILE *fin, *fout;
fin=fopen("matrice5.in", "r");
fout=fopen("matrice5.out", "w");
fscanf(fin, "%d", &t);
for(; t; t--){
fscanf(fin, "%d%d%d%d", &n, &m, &p, &k);
fprintf(fout, "%d\n", (lgput(p, n*m)*lgput(k, (n-1)*(m-1)))%MOD);
}
fclose(fin);
fclose(fout);
return 0;
}