Pagini recente » Cod sursa (job #262874) | Cod sursa (job #1295517) | Monitorul de evaluare | Cod sursa (job #690656) | Cod sursa (job #915092)
Cod sursa(job #915092)
#include<fstream>
#define NMAX 100010
using namespace std;
ifstream f("curcubeu.in");
ofstream g("curcubeu.out");
int n, i, j, preca, precb, precc, a, b, c, culoare[NMAX], urm[NMAX], lim;
long long A, B, C;
struct interval
{
int st, dr, cul;
}v[NMAX];
int main()
{
f>>n>>preca>>precb>>precc;
v[1].st=min(preca, precb); v[1].dr=max(preca, precb); v[1].cul=precc;
for (i=2; i<n; ++i)
{
A=(preca*i)%n;
B=(precb*i)%n;
C=(precc*i)%n;
v[i].st=min(A, B); v[i].dr=max(A, B); v[i].cul=C;
preca=A; precb=B; precc=C;
}
for (i=n-1; i>0; --i)
{
j=v[i].st;
while (j<=v[i].dr)
if (!urm[j])
{
culoare[j]=v[i].cul;
urm[j]=v[i].dr;
++j;
}
else j=urm[j]+1;
}
for (i=1; i<n; ++i) g<<culoare[i]<<"\n";
f.close();
g.close();
return 0;
}