Pagini recente » Cod sursa (job #3224835) | Cod sursa (job #3136675) | Cod sursa (job #422828) | Cod sursa (job #660106) | Cod sursa (job #915145)
Cod sursa(job #915145)
#include<fstream>
#define NMAX 1000005
using namespace std;
ifstream f("curcubeu.in");
ofstream g("curcubeu.out");
int n, i, j, a, b, c, culoare[NMAX], urm[NMAX], lim;
long long preca, precb, precc;
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)
{
preca=(preca*i)%n;
precb=(precb*i)%n;
precc=(precc*i)%n;
v[i].st=min(preca, precb); v[i].dr=max(preca, precb); v[i].cul=precc;
}
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;
}
else j=urm[j]+1;
}
for (i=1; i<n; ++i) g<<culoare[i]<<"\n";
f.close();
g.close();
return 0;
}