Pagini recente » Cod sursa (job #835009) | Cod sursa (job #2058703) | Cod sursa (job #1280863) | Cod sursa (job #1282971) | Cod sursa (job #1026438)
#include <iostream>
#include <fstream>
#define nmax 1000005
using namespace std;
bool used[nmax];
int v[nmax], urm[nmax];
int n, A[nmax], B[nmax], C[nmax], L, R, color;
int main() {
ifstream f("curcubeu.in");
freopen("curcubeu.out","w",stdout);
f>>n;
f>>A[1]>>B[1]>>C[1];
for(int i=2; i<n; i++) {
A[i] = (1LL * A[i-1] * i) % n;
B[i] = (1LL * B[i-1] * i) % n;
C[i] = (1LL * C[i-1] * i) % n;
}
for(int i=1; i<n; i++) urm[i] = i;
for(int t=n-1; t>=1; t--) {
L = min(A[t], B[t]);
R = max(A[t], B[t]);
color = C[t];
for(int i=L; i<=R; ) {
if(used[i]) i = urm[i];
else {
used[i] = true;
v[i] = color;
urm[i] = R+1;
i++;
}
}
}
for(int i=1; i<n; i++) printf("%d\n", v[i]);
return 0;
}