Cod sursa(job #964412)

Utilizator primulDarie Sergiu primul Data 20 iunie 2013 21:42:46
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>
using namespace std;
int t, n, m, p, k, prim;
long long rez;
long long putere (int b, int x)
{
long long a;
if (x == 0)
return 1;
a = putere (b, x/2);
if (x %2 == 0)
return (a * a) % prim;
return (a * a * b) % prim;
}
int main ()
{
freopen("matrice5.in", "r", stdin);
freopen("matrice5.out","w",stdout);
prim = 10007;
for (scanf("%d", &t); t; t--)
{
scanf("%d%d%d%d", &n, &m, &p, &k);
rez = putere(p*k, (n-1)*(m-1));
rez %= prim;
rez *= putere (p, n+m - 1);
rez %= prim;
printf ("%lld\n", rez);
}
return 0;
}