Pagini recente » Cod sursa (job #1917354) | Cod sursa (job #2485120) | Cod sursa (job #2773698) | Cod sursa (job #1422030) | Cod sursa (job #2433621)
#include <bits/stdc++.h>
using namespace std;
ifstream f("curcubeu.in");
ofstream g("curcubeu.out");
const int nmax=1e6+3;
int n,a[nmax],usu[nmax],st,dr,col[nmax],b[nmax],c[nmax],m;
bool viz[nmax];
int main ()
{
f>>n>>a[1]>>b[1]>>c[1];
for(int 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;
}
m=n;
for(int i=1;i<=n;++i)
{
usu[i]=i;
}
while(n--)
{
st=min(a[n],b[n]);
dr=a[n]+b[n]-st;
for(int i=st;i<=dr;++i)
{
if(viz[i]) i=usu[i]-1;
else
{
col[i]=c[n];
viz[i]=1;
usu[i]=dr+1;
}
}
}
for(int i=1;i<m;++i)
{
g<<col[i]<<'\n';
}
return 0;
}