Cod sursa(job #63113)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 26 mai 2007 18:22:57
Problema Iepuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
long int n,x,y,z,i,j,aux,a,b,c,T,x0,x1,x2,x3,x4,x5,A,B,C;
int main()
{	FILE *f=fopen("iepuri.in","r");
	FILE *g=fopen("iepuri.out","w");
	fscanf(f,"%d",&T);
	for(i=1;i<=T;i++)
	{	fscanf(f,"%ld%ld%ld%d%d%d%ld",&x0,&x1,&x2,&A,&B,&C,&n);
		x3=(a*x2+b*x1+c*x0)%666013;
		x4=(a*x3+b*x2+c*x1)%666013;
		x5=(a*x4+b*x3+c*x2)%666013;
		if(n>5){ a=A*A+B;b=2*A*C-B*B;c=C*C;
			 if(n){x=x1;y=x3;x=x5;n++;n/=2;}
			} else {x=x0;y=x2;z=x4;n/=2;}
		for(j=3;j<=n;j++){ aux=(a*z+b*y+c*x)%666013; x=y; y=z; z=aux;}
		fprintf(g,"%ld\n",z%666013);
	}
	fcloseall();
	return 0;
}