Cod sursa(job #2123298)

Utilizator tiberiu392Tiberiu Ungurianu tiberiu392 Data 6 februarie 2018 01:39:42
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;
ifstream f ("matrice5.in");
ofstream g ("matrice5.out");
int const mod=10007;
int n,m,k,p,t,i;
int ridica(int a,int b)
{
    if ( b == 0 )
        return 1;
    else if ( b == 1 )
        return a;
    else
    {
        int result = ridica(a,b/2);
        if ( b%2 == 0)
        {
            return (1LL*result*result)%mod;
        }
        else
            return (1LL*result*result*a)%mod;
    }
}
int main()
{
    f >> t;
    for ( i = 1 ; i <= t; i++)
    {
        f >> n >> m >> p >> k;
        int result = ridica((k*p)%mod,(n-1)*(m-1));
        result = (1LL * result *ridica(p,n+m-1))%mod;
        g<<result<<'\n';
    }
    return 0;
}