Cod sursa(job #636889)

Utilizator PetcuIoanPetcu Ioan Vlad PetcuIoan Data 20 noiembrie 2011 01:00:06
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.67 kb
#include<stdio.h>
#include<assert.h>

#define ORLY 10007

int n,m,p,k,t;
int sol,aux,sol2;

void put(int x)
{
    if(x==1)
        return;
    put(x/2);
    sol=(sol*sol)%ORLY;
    if(x%2==1)
        sol=(sol*aux)%ORLY;
}

void solve()
{
    assert(freopen("matrice5.in","r",stdin)!=NULL);
    assert(freopen("matrice5.out","w",stdout)!=NULL);
    scanf("%d",&t);
    int i;
    for(i=1;i<=t;++i)
    {
        scanf("%d%d%d%d",&n,&m,&p,&k);
        sol=k*p%ORLY;
        aux=sol;
        put((n-1)*(m-1));
        sol2=sol;
        sol=p;
        aux=sol;
        put(m+n-1);
        sol=(sol*sol2)%ORLY;
        printf("%d\n",sol);
    }
}

int main()
{
    solve();
    return 0;
}