Cod sursa(job #1564152)

Utilizator antanaAntonia Boca antana Data 8 ianuarie 2016 18:24:14
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <cstdio>
#define mod 10007
using namespace std;
long long ridiclaputere(long long f, int exp)
{
    long long rez=1;
    while(exp)
    {
        if(exp%2==0)
        {
            f=(f*f)%mod;
            exp/=2;
        }
        else{
            rez=(rez*f)%mod;
            exp--;
        }
    }
    return rez;
}
int main()
{
    freopen("matrice5.in","r",stdin);
    freopen("matrice5.out", "w", stdout);
    int i, t, n, m, p, k;
    scanf("%d", &t);
    for(i=1;i<=t;i++)
    {
        scanf("%d%d%d%d", &n, &m, &p, &k);
        printf("%lld\n", (ridiclaputere(k, (n-1)*(m-1))*ridiclaputere(p, n*m))%mod);
    }
    return 0;
}