Pagini recente » Cod sursa (job #2568296) | Cod sursa (job #2839785) | Cod sursa (job #2607731) | Cod sursa (job #1797959) | Cod sursa (job #3209615)
#include<fstream>
#include<cstdio>
#define NM 1000100
using namespace std;
ifstream f("curcubeu.in");
int N,n,a[NM],urm[NM],co,st,dr,col[NM],i,b[NM],c[NM];
bool viz[NM];
int main ()
{
freopen("curcubeu.out","w",stdout);
f>>n>>a[1]>>b[1]>>c[1];
N=n;
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;
}
for(i=1;i<=n;++i) urm[i]=i;
for(n--;n>=1;--n)
{
st=min(a[n],b[n]);
dr=a[n]+b[n]-st;
co=c[n];
for(i=st;i<=dr;++i)
if(viz[i])
i=urm[i]-1;
else
{
col[i]=co;
viz[i]=1;
urm[i]=dr+1;
}
}
for(i=1;i<N;++i)
printf("%d\n",col[i]);
return 0;
}s