Cod sursa(job #636894)
Utilizator | Data | 20 noiembrie 2011 01:06:31 | |
---|---|---|---|
Problema | Matrice5 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | .com 2011 | Marime | 0.49 kb |
#include <fstream>
using namespace std;
const int MOD = 10007;
int pow(int x, int n)
{
int r = 1;
int p = x;
while (n)
{
if (n&1)
r = (r * p) % MOD;
n >>= 1;
p = (p * p) %MOD;
}
return r;
}
int main()
{
ifstream fin("matrice5.in");
ofstream fout("matrice5.out");
int T;
fin>>T;
while (T--)
{
int n, m, p, k;
fin>>n>>m>>p>>k;
int r = k * p % MOD;
r = pow(r, (n-1)*(m-1));
r = r * pow(p, n+m-1) % MOD;
fout<<r<<"\n";
}
return 0;
}