Cod sursa(job #2470646)

Utilizator lampa_mergatoareLampa MAGICA lampa_mergatoare Data 9 octombrie 2019 17:21:29
Problema Matrice5 Scor 100
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<vector>
#include<set>
#include<map>

using namespace std;

#define x first
#define y second
#define MOD 10007

int rid_log(int a, int b) {
    if(!b)
        return 1;
    int val = rid_log(a, b / 2);
    if(b&1)
        return (((val * val) % MOD) * a) % MOD;
    return (val * val) % MOD;
}
int main () {
    
    freopen("matrice5.in", "r", stdin);
    freopen("matrice5.out", "w", stdout);

    int t, n, m, p, k, i, x, y;
    scanf("%d", &t);
    for(i = 0; i < t; i ++) {
        scanf("%d%d%d%d", &m, &n, &p, &k);
        x = rid_log(p, m *  n);
        y = rid_log(k, (m - 1) * (n - 1));
        printf("%d\n", x * y % 10007);
    }
    return 0;
}