Pagini recente » Cod sursa (job #240512) | Cod sursa (job #248508) | Cod sursa (job #859) | Cod sursa (job #684985) | Cod sursa (job #3278938)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
int n;
struct inter{
int st;
int dr;
long long c;
};
inter a[1000005];
int col[1000005];
int poz[1000005];
long long A, B;
int main()
{
fin >> n >> A >> B >> a[1].c;
a[1].st = min(A, B);
a[1].dr = max(A, B);
for(int i = 2; i < n; i++){
A = (A * i) % n;
B = (B * i) % n;
a[i].st = min(A, B);
a[i].dr = max(A, B);
a[i].c = (a[i-1].c * i) % n;
}
for(int i = n - 1; i > 0; i--){
for(int j = a[i].st; j <= a[i].dr; j++){
if(poz[j] > 0){
j = poz[j];
}
else{
poz[j] = a[i].dr;
col[j] = a[i].c;
}
}
}
for(int i = 1; i < n; i++){
fout << col[i] << "\n";
}
return 0;
}