Cod sursa(job #2089521)
Utilizator | Vlad - Gabriel Iftimescu ezioconnor | Data | 16 decembrie 2017 17:49:30 |
---|---|---|---|
Problema | Matrice5 | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <fstream>
using namespace std;
ifstream in("matrice5.in");
ofstream out("matrice5.out");
int putere(int b, int e)
{
int ok = 0, a = b, i;
if (e % 2 == 1)
ok = 1;
for (i = 2; i <= e / 2; ++i)
{
a *= b;
a %= 10007;
}
i = a * a % 10007;
if (ok == 1)
{
i *= b;
i %= 10007;
}
return i;
}
int main()
{
int n, m, p, k, a, t, i;
in >> t;
for (i = 1; i <= t; ++i)
{
in >> n >> m >> p >> k;
a = (n - 1) * (m - 1);
out << putere(k * p, a) * putere(p, n + m - 1) % 10007 << '\n';
}
return 0;
}