Pagini recente » Cod sursa (job #3361055) | Cod sursa (job #3361027) | Borderou de evaluare (job #3361039) | Borderou de evaluare (job #3361057) | Cod sursa (job #3361101)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
int s[1000001];
int culoare[1000001];
int n,a,b,c;
int gasire(int x)
{
if(s[x]==x)return x;
return s[x]=gasire(s[x]);
}
int main()
{
ios::sync_with_stdio(false);
fin>>n>>a>>b>>c;
for(int i=1;i<=n;i++)
{
s[i]=i;
}
s[n]=n+1;
for(int i=n-1;i>=1;i--)
{
int st=min(a,b);
int dr=max(a,b);
st=max(st,1);
dr=min(dr,n-1);
int poz=gasire(st);
while(poz<=dr)
{
culoare[poz]=c;
s[poz]=poz+1;
poz=gasire(poz);
}
a=(1LL*a*i)%n;
b=(1LL*b*i)%n;
c=(1LL*c*i)%n;
}
for(int i=1;i<=n-1;i++)fout<<culoare[i]<<'\n';
return 0;
}