Pagini recente » Cod sursa (job #2767476) | Cod sursa (job #2093315) | Cod sursa (job #178647) | Cod sursa (job #349075) | Cod sursa (job #563599)
Cod sursa(job #563599)
#include <stdio.h>
#include <string.h>
#define Dim 1000005
int color[Dim],A[Dim],B[Dim],C[Dim];
void swap(int &a,int &b)
{
int aux;
if(a>b)
{
aux=a;
a=b;
b=aux;
}
}
int main()
{
int N,i,pos;
freopen("curcubeu.in","r",stdin);
scanf("%d%d%d%d",&N,&A[1],&B[1],&C[1]);
for(i=2;i<N;i++)
{
A[i]=((long long)(A[i-1]*i))%N;
B[i]=((long long)(B[i-1]*i))%N;
C[i]=((long long)(C[i-1]*i))%N;
}
for(i=1;i<N;i++) swap(A[i],B[i]);
for(i=1;i<N;i++) color[i]=0;
for(i=N-1;i>0;i--)
{
pos=A[i];
while(color[pos]==0&&pos<=B[i])
{
color[pos]=C[i];
pos++;
}
pos=B[i];
while(color[pos]==0&&pos>=A[i])
{
color[pos]=C[i];
pos--;
}
}
freopen("curcubeu.out","w",stdout);
for(i=1;i<N;i++)
printf("%d\n",color[i]);
return 0;
}