Pagini recente » Cod sursa (job #2049722) | Cod sursa (job #1345272) | Cod sursa (job #2687452) | Cod sursa (job #849420) | Cod sursa (job #1393424)
#include<cstdio>
#include<algorithm>
using namespace std;
int n,a[1000002],b[1000002],c[1000002],i,j,aux,next[1000002],st,dr,ans[1000002];
int main()
{
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
scanf("%d%d%d%d",&n,&a[1],&b[1],&c[1]);
for(i=2;i<n;i++)
{
a[i]=a[i-1]*i;
a[i]%=n;
b[i]=b[i-1]*i;
b[i]%=n;
c[i]=c[i-1]*i;
c[i]%=n;
}
for(i=n-1;i>0;i--)
{
st=min(a[i],b[i]);
dr=max(a[i],b[i]);
for(j=st;j<=dr;j++)
{
if(!next[j])
{
ans[j]=c[i];
next[j]=dr+1;
}
else
{
aux=next[j];
if(next[j]<dr+1)
{
next[j]=dr+1;
}
j=aux-1;
}
}
}
for(i=1;i<n;i++)
{
printf("%d\n",ans[i]);
}
}