Cod sursa(job #761112)
Utilizator | Ioana Bica ioanab | Data | 24 iunie 2012 19:39:41 |
---|---|---|---|
Problema | Matrice5 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
using namespace std;
ifstream in("matrice5.in");
ofstream out("matrice5.out");
const int mod=10007;
int fp(int a,int b)
{
int x;
if(b==0)
return 1;
if(b==1)
return a%mod;
if(b%2==0)
{
x=fp(a,b/2);
return (x*x)%mod;
}
if(b%2==1)
{
x=fp(a,b/2);
return ((x*x)%mod*a%mod)%mod;
}
}
int main()
{
int n,m,p,k,t,i,rez;
in>>t;
for(i=1;i<=t;i++)
{
in>>n>>m>>p>>k;
rez=fp(k,(m-1)*(n-1)) * fp(p,n*m)%mod;
out<<rez<<"\n";
}
return 0;
}