Cod sursa(job #2122328)

Utilizator GoogalAbabei Daniel Googal Data 4 februarie 2018 21:49:02
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int MOD = 10007;

int t, n, m, p, k;
int res;

int lgput(int n, int p) {
  int res = 1;
  for(int i = 0; (1 << i) <= p; i++) {
    if(0 < ((1 << i) & p))
      res = (res * n) % MOD;
    n = (n * n) % MOD;
  }

  return res;
}

int main()
{
  in >> t;
  for(int test = 1; test <= t; test++) {
    in >> n >> m >> p >> k;
    res = lgput(k, n * m + 1 - n - m);
    res = (res * lgput(p, n * m)) % MOD;
    out << res << '\n';
  }

  in.close();
  out.close();
  return 0;
}