Cod sursa(job #1119590)

Utilizator OctaDuiu Octavian Octa Data 24 februarie 2014 18:43:13
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<cstdio>
#define modulo 10007
using namespace std;
int n,m,P,K;

long long check(int x,int P)
{
    if(!P) return 1;
      long long t=check(x,P/2);

    if(!(P%2)) return t*t%modulo;

  return (t*t*x%modulo);
}
long long  solve()
{
    long long x;
    int y=P*K;
    x=check(y,(n-1)*(m-1));
    x=x*check(P,n+m-1)%modulo;

  return x;
}
int main()
{
    freopen("matrice5.in","r",stdin);freopen("matrice5.out","w",stdout);

    int t;
    scanf("%d",&t);
    for(int i=1;i<=t;++i)
    {
        scanf("%d %d %d %d",&n,&m,&P,&K);

        printf("%lld\n",solve());
    }

    return 0;
}