Pagini recente » Cod sursa (job #1529923) | Cod sursa (job #1907032) | Cod sursa (job #1202347) | Cod sursa (job #3175527) | Cod sursa (job #3192825)
#include <bits/stdc++.h>
#define DIM 1000001
#define next eiohfueri
#define left ieufhirufh
#define right ehuifeurhf
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
struct elem{
int left, right, color;
};
elem Q[DIM];
int next[DIM], v[DIM];
int n, a, b, c, i, j;
int main(){
fin >> n >> a >> b >> c;
Q[1].left = min(a, b);
Q[1].right = max(a, b);
Q[1].color = c;
for(i=2;i<=n-1;i++){
a = (a * i) % n;
b = (b * i) % n;
c = (c * i) % n;
Q[i].left = min(a, b);
Q[i].right = max(a, b);
Q[i].color = c;
}
for(i=n-1;i>=1;i--){
for(j=Q[i].left;j<=Q[i].right;j++)
if(!next[j]){
v[j] = Q[i].color;
next[j] = Q[i].right;
}
else j = next[j];
}
for(i=1;i<=n-1;i++)
fout << v[i] << "\n";
}