Cod sursa(job #1105297)
| Utilizator | Data | 11 februarie 2014 18:11:14 | |
|---|---|---|---|
| Problema | Matrice5 | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
ifstream is("matrice5.in");
ofstream os("matrice5.out");
#define MOD 10007
int T,M,N,P,K;
int LgExp(int x, int y);
int main()
{
is >> T;
for ( int i = 1; i <= T; ++i )
{
is >> M >> N >> P >> K;
os << LgExp(P*K,(M-1)*(N-1))*LgExp(P,(M+(N-1)))%MOD <<'\n';
}
return 0;
}
int LgExp(int x, int y)
{
if ( y == 1 )
return x%MOD;
if ( y % 2 == 0 )
return (LgExp(x,y/2)*LgExp(x,y/2))%MOD;
return (x*LgExp(x,y/2)*LgExp(x,y/2))%MOD;
}
