Cod sursa(job #2089547)

Utilizator Sebastian27Marcu Sebastian Sebastian27 Data 16 decembrie 2017 18:08:47
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
ifstream in ("matrice5.in");
ofstream out ("matrice5.out");
int const mod=10007;
int lgpow(int a,int b)
{
    if (b==0)
        return 1;
    else if (b==1)
        return a;
    else
    {
        int result=lgpow(a,b/2);
        if (b%2==0)
        {
            return (1LL*result*result)%mod;
        }
        else
            return (1LL*result*result*a)%mod;
    }
}
int main()
{
    int n,m,k,p,t,i;
    in>>t;
    for (i=1; i<=t; i++)
    {
        in>>n>>m>>p>>k;
        int result=lgpow((k*p)%mod,(n-1)*(m-1));
        result = (1LL * result *lgpow(p,n+m-1))%mod;
        out<<result<<'\n';
    }
    return 0;
}