Cod sursa(job #182784)

Utilizator stefanrStefan Ruseti stefanr Data 21 aprilie 2008 12:39:42
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream.h>
ifstream fin("koba.in");
ofstream fout("koba.out");

int n,a,b,c,m[10][10][10],s[1000000],si,t;

int main()
{fin>>n>>a>>b>>c;
m[a][b][c]=1;
int i,j,x,y,z,p;
x=a%10;
y=b%10;
z=c%10;
s[1]=x;
s[2]=x+y;
s[3]=s[2]+z;
for(i=4;i<=n && !t;i++)
 {p=(z+x*y)%10;
  x=y;
  y=z;
  z=p;
  s[i]=s[i-1]+p;
  if(m[x][y][z]==0) m[x][y][z]=i-2;
  else
   {p=m[x][y][z];
    t=i-p-2;
    si=s[p-1];
    for(j=1;j<=t;j++) s[j%t]=s[p+j-1]-si;
   }
 }
if(t==0) fout<<s[n];
else fout<<si+((n-p+1)/t)*s[0]+s[(n-p+1)%t];
fin.close();
fout.close();
return 0;
}