Pagini recente » Cod sursa (job #855257) | Cod sursa (job #2125447) | Cod sursa (job #1783799) | Cod sursa (job #966690) | Cod sursa (job #1712386)
#include <cstdio>
using namespace std;
const int Nmax=1000005;
struct Gard
{
int a,b,c;
} d[Nmax];
struct Poz
{
int color,next;
} v[Nmax];
int main()
{
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
int n,a,b,c,i;
scanf("%d%d%d%d",&n,&d[1].a,&d[1].b,&d[1].c);
for(i=2;i<n;i++)
{
d[i].a=( (long long) d[i-1].a * i ) % n;
d[i].b=( (long long) d[i-1].b * i ) % n;
d[i].c=( (long long) d[i-1].c * i ) % n;
}
for(i=n-1;i>=1;i--)
{
a=d[i].a;
b=d[i].b;
c=d[i].c;
while(a<=b)
{
v[a].next=b;
if(v[a].color==0)
{
v[a].color=c;
a++;
}
else a=v[a].next+1;
}
}
for(i=1;i<=n-1;i++) printf("%d\n",v[i].color);
return 0;
}