Pagini recente » Cod sursa (job #2553775) | Cod sursa (job #506949) | Cod sursa (job #3128198) | Cod sursa (job #1787512) | Cod sursa (job #2619558)
#include <bits/stdc++.h>
#define NMAX 1000005
#define ll long long
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
int n,a,b,c;
int rasp[NMAX],parent[NMAX];
struct querry
{
int l,r,cul;
};
querry v[NMAX];
int find_set(int node)
{
if(parent[node]==node)return node;
return parent[node]=find_set(parent[node]);
}
int main()
{
cin>>n>>a>>b>>c;
for(int i=1;i<=n-1;i++)
{
parent[i]=i;
v[i].l=min(a,b);
v[i].r=max(a,b);
v[i].cul=c;
a=(a*(i+1))%n;
b=(b*(i+1))%n;
c=(c*(i+1))%n;
}
parent[n]=n;
for(int i=n-1;i>=1;i--)
{
int st=v[i].l,dr=v[i].r,culoare=v[i].cul;
for(int j=find_set(st);j<=dr;j=find_set(j))
{
rasp[j]=culoare;
parent[j]=j+1;
}
}
for(int i=1;i<=n-1;i++)
fout<<rasp[i]<<'\n';
}