Cod sursa(job #138152)

Utilizator DjSefuWrong name DjSefu Data 17 februarie 2008 22:11:06
Problema Koba Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<stdio.h>
FILE *f=fopen("koba.in","r"),
     *g=fopen("koba.out","w");
long i,j,t1,t2,t3,au,a[15][15][15],v[100007];
long k,n,m;
int main()
{ fscanf(f,"%ld %d %d %d",&n,&t1,&t2,&t3);
  for(i=0;i<=9;++i) for(j=0;j<=9;++j) { a[i][j][0]=i*j%10;
				      for(k=1;k<=9;++k) a[i][j][k]=(a[i][j][k-1]+1)%10;
				      }
  if(n==1) fprintf(g,"%d\n",t1%10);
  else if(n==2) fprintf(g,"%d\n",t1+t2%10);
  else if(n==3) fprintf(g,"%d\n",t1+t2+t3%10);
  else  { k=t1%10+t2%10+t3%10;  m=n/100000;
	  t1%=10;t2%=10;t3%=10;v[99998]=t1;v[99999]=t2;v[100000]=t3;
	  for(j=1;j<=m+1;++j) { v[1]=v[99998];v[2]=v[99999];v[3]=v[100000];
				for(i=4;i<=n&&i<=100000;++i) { v[i]=a[v[i-2]][v[i-3]][v[i-1]];
							      k+=v[i];
							    }
				n-=99997;
			      }
	  fprintf(g,"%ld\n",k);}
	  fclose(f);
	  fclose(g);
	  return 0;
}