Pagini recente » Cod sursa (job #654366) | Cod sursa (job #3286654) | Cod sursa (job #2196998) | Cod sursa (job #1634088) | Cod sursa (job #3278934)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
int n;
struct inter{
int st;
int dr;
int 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);
//cout << a[1].st << " " << a[1].dr << " " << a[1].c << "\n";
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;
//cout << a[i].st << " " << a[i].dr << " " << a[i].c << "\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;
}