Pagini recente » Istoria paginii planificare/sedinta-20071027 | Cod sursa (job #2823770) | Cod sursa (job #3276095) | Rating Belbu Alexandru Marian (alexman262) | Cod sursa (job #135614)
Cod sursa(job #135614)
Utilizator |
Mircea Pasoi domino |
Data |
14 februarie 2008 00:14:10 |
Problema |
Koba |
Scor |
Ascuns |
Compilator |
cpp |
Status |
done |
Runda |
|
Marime |
0.69 kb |
#include <stdio.h>
#define FIN "koba.in"
#define FOUT "koba.out"
#define ll long long
int N, A, B, C;
ll S[1024];
ll solve(int n, int a, int b, int c)
{
int i, t, sum;
a %= 10; b %= 10; c %= 10;
if (n == 1) return a;
if (n == 2) return a+b;
if (n == 3) return a+b+c;
sum = a+b+c; n -= 3;
for (i = 1; i <= 1000; ++i)
{
t = (c+a*b)%10;
S[i] = S[i-1]+t;
a = b; b = c; c = t;
}
return sum+S[1000]*(n/1000)+S[n%1000];
}
int main(void)
{
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d %d %d %d", &N, &A, &B, &C);
printf("%lld\n", solve(N, A, B, C));
return 0;
}