Cod sursa(job #2083222)

Utilizator oldatlantianSerban Cercelescu oldatlantian Data 7 decembrie 2017 12:50:00
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fi("matrice5.in");
ofstream fo("matrice5.out");

using i64 = long long;

const i64 MOD = 10007LL;

i64 n, m, p, k;
int tsk;

static i64 expow(i64 b, i64 e) {
    i64 ant(1);

    for (; e > 0; e/= 2) {
        if (e % 2 == 1)
            ant = ant * b % MOD;
        b = b * b % MOD; }

    return ant; }

int main() {
    fi >> tsk;
    while (tsk--) {
        fi >> n >> m >> p >> k;
        fo << expow(p * k % MOD, (n - 1) * (m - 1)) * expow(p, n + m - 1) % MOD << '\n'; }

    return 0; }