Cod sursa(job #2564174)

Utilizator Alex_AeleneiAlex Aelenei Ioan Alex_Aelenei Data 1 martie 2020 18:47:32
Problema Matrice5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>

using namespace std;

const int MOD = 1e4 + 7 ;

inline int fast_exp ( int x , int y )
{
    int ans = 1 , p = x ;

    while ( y )
    {
        if ( y & 1 )
            ans = ( ans * p ) % MOD ;
        p = ( p * p ) % MOD ;
        y = y >> 1 ;
    }

    return ans ;
}

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

    int t , n , m , p , k , i ;

    scanf ( "%d" , & t ) ;

    for ( i = 1 ; i <= t ; ++ i )
    {
        scanf ( "%d%d%d%d" , & n , & m , & p , & k ) ;

        printf ( "%d\n" , ( fast_exp ( k , ( n - 1 ) * ( m - 1 ) ) * fast_exp ( p , m * n ) ) % MOD ) ;
    }

    return 0;
}