Pagini recente » Cod sursa (job #1480582) | Cod sursa (job #2094329) | Cod sursa (job #1941924) | Cod sursa (job #1824358) | Cod sursa (job #2494492)
#include <algorithm>
#include <stack>
#include <queue>
#include <deque>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <cstring>
using namespace std;
//#include <iostream>
#include <fstream>
//ifstream cin ("input.in");
//ofstream cout ("output.out");
ifstream cin ("curcubeu.in");
ofstream cout ("curcubeu.out");
struct interval {
int lft, rght, val;
};
static const int NMAX = 1e7+5;
int colour[NMAX];
int nxt[NMAX];
interval v[NMAX];
int main() {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n, A, B, C;
cin>>n>>A>>B>>C;
v[1] = {min(A, B), max(A, B), C};
for ( int i = 2; i < n; ++i ) {
A = (A*i)%n;
B = (B*i)%n;
C = (C*i)%n;
v[i] = {min(A, B), max(A, B), C};
}
for ( int i = n-1; i >= 1; --i ) {
for ( int j = v[i].lft; j <= v[i].rght; j++ ) {
if ( !nxt[j] ) {
colour[j] = v[i].val;
nxt[j] = v[i].rght+1;
}
else {
j = nxt[j];
}
}
}
for ( int i = 1; i < n; ++i ) {
cout<<colour[i]<<'\n';
}
}