Pagini recente » Cod sursa (job #1336258) | Cod sursa (job #2877271) | Cod sursa (job #795895) | Cod sursa (job #185899) | Cod sursa (job #1026436)
#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");
//ofstream g("curcubeu.out");
freopen("curcubeu.out","w",stdout);
f>>n;
f>>A[1]>>B[1]>>C[1];
for(int i=2; i<n; i++) {
A[i] = (A[i-1] * i) % n;
B[i] = (B[i-1] * i) % n;
C[i] = (C[i-1] * i) % n;
}
//for(int i=1; i<n; i++) cout<<min(A[i], B[i])<<" "<<max(A[i], B[i])<<" "<<C[i]<<"\n"; cout<<"\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++) cout<<v[i]<<" "; cout<<"\n";
}
for(int i=1; i<n; i++) printf("%d\n", v[i]);
return 0;
}