Pagini recente » Cod sursa (job #455966) | Monitorul de evaluare | Profil tudor_carare | Cod sursa (job #1657076) | Cod sursa (job #86874)
Cod sursa(job #86874)
#include <cstdio>
#define maxn 1000001
long long a[maxn], b[maxn],c[maxn], next[maxn], color[maxn];
long long A, B, C, N;
int main()
{
freopen("curcubeu.in","r",stdin);
scanf("%lld %lld %lld %lld\n", &N, &A, &B, &C);
a[1]=A;
b[1]=B;
c[1]=C;
long long i,j, p, q;
for(i=2;i<N;++i)
{
a[i]=(a[i-1]*i)%N;
b[i]=(b[i-1]*i)%N;
c[i]=(c[i-1]*i)%N;
}
for(i=N-1;i>=1;--i)
{
A=a[i]<?b[i];
B=b[i]>?a[i];
C=c[i];
for(j=A;j<=B;)
{
if(!next[j]) { next[j]=B+1; color[j]=C; ++j;}
else j=next[j];
}
}
freopen("curcubeu.out","w",stdout);
for(i=1;i<N;++i)printf("%lld\n", color[i]);
return 0;
}