Pagini recente » Cod sursa (job #3139079) | Cod sursa (job #660183) | Cod sursa (job #1179211) | Cod sursa (job #379219) | Cod sursa (job #951195)
Cod sursa(job #951195)
#include<fstream>
using namespace std;
ifstream f("koba.in");
ofstream g("koba.out");
int m[11][11][11],n,i,j,t1,t2,t3,v[1005];
long long S,P,per;
int main()
{
f>>n>>t1>>t2>>t3;
if(n<=3)
switch(n)
{
case 1:g<<t1;return 0;
case 2:g<<t2+t1;return 0;
case 3:g<<t3+t2+t1;return 0;
}
n-=3;
t1%=10;
t2%=10;
t3%=10;
S=t1+t2+t3;
for(i=1;i<=n;++i)
{
if(m[t1][t2][t3])
{
v[i]=(t3+t2*t1)%10;
for(j=1;j<=m[t1][t2][t3];++j)
S+=v[j];
n-=m[t1][t2][t3];
for(j=m[t1][t2][t3]+1;j<=i;++j)
P+=v[j];
per=i-m[t1][t2][t3];
S+=n/per*P;
n%=per;
for(j=m[t1][t2][t3]+1;j<=m[t1][t2][t3]+n;++j)
S+=v[j];
g<<S;
return 0;
}
m[t1][t2][t3]=i;
v[i]=(t3+t2*t1)%10;
t1=t2;
t2=t3;
t3=v[i];
}
for(i=1;i<=n;++i)
S+=v[i];
g<<S;
return 0;
}