Cod sursa(job #2089503)
| Utilizator | Data | 16 decembrie 2017 17:30:02 | |
|---|---|---|---|
| Problema | Matrice5 | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
ifstream in("matrice5.in");
ofstream out("matrice5.out");
long long expow(long long b, long long e, long long mod) {
long long ans = 1;
while (e > 0) {
if (e % 2)
ans = ans * b % mod;
b = b * b % mod;
e /= 2;
}
return ans;
}
int main()
{
int t, n, m, p, k;
in >> t;
for (int i = 1; i <= t; i++)
{
in >> n >> m >> p >> k;
out << expow(k * p, (n - 1) * (m - 1), 10007) * expow(p, n + m - 1, 10007) % 10007 << '\n';
}
return 0;
}
