Cod sursa(job #1757805)

Utilizator georgerapeanuRapeanu George georgerapeanu Data 15 septembrie 2016 21:41:26
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>

using namespace std;

ifstream cin("matrice5.in");
ofstream cout("matrice5.out");

const int MOD = 10007;

int RaiseToPower(int base, int power) {
    int answer = 1;
    while (power) {
        if (power % 2)
            answer = (answer * base) % MOD;
        base = (base * base) % MOD;
        power /= 2;
    }
    return answer;
}

int main() {
    int tests;
    cin >> tests;
    for (int test = 1; test <= tests; test++) {
        int n, m, p, k;
        cin >> n >> m >> p >> k;
        cout << (RaiseToPower((p * k) % MOD, (n - 1) * (m - 1)) * RaiseToPower(p, m + n - 1)) % MOD << "\n";
    }
    return 0;
}