Pagini recente » Cod sursa (job #599800) | Cod sursa (job #1784710) | Cod sursa (job #661115) | Cod sursa (job #2652357) | Cod sursa (job #595204)
Cod sursa(job #595204)
# include <fstream>
using namespace std;
int t1, t2, t3, t4, ap[1000][2];
int i, n, sol, val;
int main ()
{
ifstream f ("koba.in");
ofstream g ("koba.out");
f >> n >> t1 >> t2 >> t3;
t1 = t1 % 10;
t2 = t2 % 10;
t3 = t3 % 10;
sol = t1 + t2 + t3;
ap[t1 * 100 + t2 * 10 + t3][0] = sol;
ap[t1 * 100 + t2 * 10 + t3][1] = 3;
for (i = 4; i <= n; ++i)
{
t4 = (t3 + t2 * t1) % 10;
sol += t4;
t1 = t2;
t2 = t3;
t3 = t4;
val = t1 * 100 + t2 * 10 + t3;
if (!ap[val][0])
{
ap[val][0] = sol;
ap[val][1] = i;
}
else
{
int nr = i - ap[val][1];
int nr2 = sol - ap[val][0];
int nr3 = (n - i) / nr;
sol += nr2 * nr3;
i += nr * nr3;
for (++i; i <= n; ++i)
{
t4 = (t3 + t2 * t1) % 10;
sol += t4;
t1 = t2;
t2 = t3;
t3 = t4;
}
g << sol;
g.close ();
return 0;
}
}
g << sol;
g.close ();
return 0;
}