Pagini recente » Cod sursa (job #3361012) | Cod sursa (job #3361016) | Cod sursa (job #3361008) | Cod sursa (job #3361013) | Cod sursa (job #3360998)
#include <fstream>
#include <set>
using namespace std;
ifstream cin("curcubeu.in");
ofstream cout("curcubeu.out");
int X[1000005];
int A[1000005];
int B[1000005];
int C[1000005];
set <int> V;
int main() {
int n, a, b, c;
cin>>n>>a>>b>>c;
for (int i=1; i<=n-1; i++) {
A[i]=a;
B[i]=b;
C[i]=c;
a=(a*i)%n;
b=(b*i)%n;
c=(c*i)%n;
V.insert(i);
}
for (int i=n-1; i>=1; i--) {
for (auto it=V.upper_bound(min(A[i], B[i])); it!=V.lower_bound(max(A[i], B[i])); it++) {
X[*it]=C[i];
V.erase(*it);
}
}
for (int i=1; i<=n-1; i++) cout<<X[i]<<"\n";
}