Pagini recente » Cod sursa (job #1383462) | infoarena - te ajutam sa devii olimpic! | Cod sursa (job #3233008) | Cod sursa (job #426172) | Cod sursa (job #138152)
Cod sursa(job #138152)
#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;
}