Cod sursa(job #2461152)
Utilizator | Vamanu Petru Gabriel petrisorvmy | Data | 24 septembrie 2019 22:16:26 |
---|---|---|---|
Problema | Matrice5 | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
#define ll long long
#define mod 10007
using namespace std;
ifstream f("matrice5.in");
ofstream g("matrice5.out");
ll n, p ,k, m;
ll logpow(ll a, ll b)
{
ll rez = 1;
while(b)
{
if(b & 1)
rez = (rez * a) % mod;
a = (a * a) % mod;
b >>= 1;
}
return rez;
}
int main()
{
int t;
f >> t;
while(t--)
{
f >> n >> m >> p >> k;
g << (logpow(p * k, (n - 1) * (m - 1)) * logpow(p, n + m - 1)) % mod << '\n';
}
f.close();
g.close();
return 0;
}