Pagini recente » Cod sursa (job #928711) | Cod sursa (job #3245923) | Cod sursa (job #1653678) | Cod sursa (job #2530209) | Cod sursa (job #2581201)
#include <bits/stdc++.h>
using namespace std;
int a[1000005], b[1000005], c[1000005],n,jump[1000005],sol[1000005];
int main()
{
int i,j,mi,ma;
freopen("curcubeu.in", "r", stdin);
freopen("curcubeu.out", "w", stdout);
scanf("%d", &n);
scanf("%d%d%d", a+1, b+1, c+1);
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;
jump[i-1]=i;
}
for (i=n-1; i>=1; i--)
{
mi=min(a[i],b[i]);
ma=max(a[i],b[i]);
for (j=mi; j<=ma;)
if (sol[j]==0)
{
sol[j]=c[i];
jump[j]=ma+1;
j++;
}
else j=jump[j];
}
for (i=1; i<=n-1; i++)
printf("%d\n", sol[i]);
return 0;
}