Cod sursa(job #119713)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 2 ianuarie 2008 21:18:30
Problema Rsir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<stdio.h>
long long int tt0,tt1,n,i,k,r;
long int t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,a,b,c,d,e,v1[14002],v2[14002],m,ii;
int main()
{
	FILE *f,*g;
	f=fopen("rsir.in","r");
	g=fopen("rsir.out","w");
	fscanf(f,"%lld%lld",&tt0,&tt1);
	fscanf(f,"%ld%ld",&a,&b);
	fscanf(f,"%ld%ld%ld",&c,&d,&e);
	fscanf(f,"%ld%lld",&m,&n);
	t0=(long int)(tt0%m);
	t1=(long int)(tt1%m);
	for(ii=0;ii<m;ii++)
	{ v2[i]=(ii*ii)%m;
	  v1[ii]=(a*v2[ii]+c*ii+e)%m;v1[ii+m]=v1[ii];
	  v2[ii]=(b*v2[ii]+d*ii)%m;v2[ii+m]=v2[ii];
	}
	k=n/10;r=n%10;
	for(i=0;i<k;i++)
	{
	   t2=v1[t0]+v2[t1];
	   t3=v1[t1]+v2[t2];
	   t4=v1[t2]+v2[t3];
	   t5=v1[t3]+v2[t4];
	   t6=v1[t4]+v2[t5];
	   t7=v1[t5]+v2[t6];
	   t8=v1[t6]+v2[t7];
	   t9=v1[t7]+v2[t8];
	   t10=v1[t8]+v2[t9];
	   t11=v1[t9]+v2[t10];
	   t0=t10;
	   t1=t11;
	}
	for(k=1;k<=r;k++){t2=v1[t0]+v2[t1];t0=t1;t1=t2;}
	fprintf(g,"%ld\n",t0);
	fcloseall();
	return 0;
}