Cod sursa(job #3304898)

Utilizator AndreiRares1801Andrei Acatrini AndreiRares1801 Data 28 iulie 2025 14:00:42
Problema Matrice5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;

#ifdef LOCAL
#define fin cin
#define fout cout
#else
ifstream fin("matrice5.in");
ofstream fout("matrice5.out");
#endif

const int MOD = 10007;

int exp(int b, int p) {
	if (p == 0) return 1;
	int tmp = exp(b, p / 2);
	if (p % 2 == 0) return tmp * tmp % MOD;
	else return ((tmp * tmp) % MOD * b) % MOD;
}

int main() {
	int t, n, m, p, k;
	fin >> t;
	for (int i=1; i<=t; i++) {
		fin >> n >> m >> p >> k;
		// rasp = p ^ (n * m) * k ^ ((n - 1) * (m - 1))
		fout << exp(p, n * m) * exp(k, (n - 1) * (m - 1)) % MOD << "\n";
	}
}