Pagini recente » Cod sursa (job #1149654) | Cod sursa (job #2061463) | Cod sursa (job #2532119) | Cod sursa (job #3227063) | Cod sursa (job #2316329)
#include <cstdio>
#define nmx 1000005
using namespace std;
int n,i,j,nr,k,a,b,c,x;
int r[nmx],t[nmx],A[nmx],B[nmx],C[nmx];
int main() {
freopen("curcubeu.in", "r",stdin);
freopen("curcubeu.out", "w",stdout);
scanf("%d%d%d%d",&n,&A[1],&B[1],&C[1]);
if(A[1]>B[1])
{ A[1]^=B[1]; B[1]^=A[1]; A[1]^=B[1]; }
t[1]=2;
for(i=2;i<n;i++)
{
A[i]=(1LL*A[i-1]*i)%n;
B[i]=(1LL*B[i-1]*i)%n;
C[i]=(1LL*C[i-1]*i)%n;
if(A[i]>B[i])
{ A[i]^=B[i]; B[i]^=A[i]; A[i]^=B[i]; }
t[i]=i+1;
}
for(i=n-1;i;i--)
{
b=B[i];
k=t[b];
for(j=A[i];j<=b; x=j, j=t[j], t[x]=k)
if(!r[j]) r[j]=C[i];
}
for(i=1;i<n;i++)
printf("%d\n", r[i]);
/*
Somnoroase păsărele
Pe la cuiburi se adună,
Se ascund în rămurele -
Noapte bună!
Doar izvoarele suspină,
Pe când codrul negru tace;
Dorm şi florile-n grădină -
Dormi în pace!
Trece lebăda pe ape
Între trestii să se culce -
Fie-ţi îngerii aproape,
Somnul dulce!
Peste-a nopţii feerie
Se ridică mândra lună,
Totu-i vis şi armonie -
Noapte bună!
*/
}