Cod sursa(job #1960482)
Utilizator | Data | 10 aprilie 2017 14:14:47 | |
---|---|---|---|
Problema | Matrice5 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <bits/stdc++.h>
using namespace std;
const int mod = 10007;
int put(int a, int b)
{
if (!b)
return 1;
if (b & 1)
return put(a, b - 1) * a % mod;
int half = put(a, b / 2);
return half * half % mod;
}
int main()
{
ifstream cin("matrice5.in");
ofstream cout("matrice5.out");
int t, n, m, p, k;
cin >> t;
while (t--)
{
cin >> n >> m >> p >> k;
cout << put(k, (n - 1) * (m - 1)) * put(p, n * m) % mod << '\n';
}
}