Cod sursa(job #637356)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 20 noiembrie 2011 13:59:25
Problema Matrice5 Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.59 kb
#include<stdio.h>

#define mod 10007

FILE*f=fopen("matrice5.in","r");
FILE*g=fopen("matrice5.out","w");

int q,n,m,p,k,i,sol;

inline int lgput ( int a , int b ){
	int s = 1,p = a;
	
	while ( b ){
		if ( b & 1 ){
			s = (1LL * s * p) % mod;
		}
		p = (1LL * p * p) % mod;
		b >>= 1;
	}
	
	return s;
}

int main () {
	
	fscanf(f,"%d",&q);
	
	for ( i = 1 ; i <= q ; ++i ){
		fscanf(f,"%d %d %d %d",&n,&m,&p,&k);
		sol = lgput((k*p)%mod,((n-1)*(m-1))%mod);
		sol = (1LL * sol * lgput(p,n+m-1)) % mod;
		fprintf(g,"%d\n",sol);
	}
	
	fclose(f);
	fclose(g);
	
	return 0;
}