Cod sursa(job #2089504)

Utilizator mircearoataMircea Roata Palade mircearoata Data 16 decembrie 2017 17:30:26
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int t,m,n,p,k,mod=10007;
long long expow(long long b, long long p, long long mod)
{
	long long pow=1;
	while(p!=1){
		if(p%2==0)
		{
			p=p/2;
			b=b*b%mod;
		}else{
			p=p-1;
			pow=pow*b%mod;
		}
	}
	b=b*pow%mod;
	return b%mod;
}
int main()
{
    in>>t;
    for(int i = 1; i<=t;i++)
    {
        in>>n>>m>>p>>k;
        out<<expow(k*p%mod,(n-1)*(m-1),mod)*expow(p%mod,n+m-1,mod)%mod<<'\n';
    }
    return 0;
}