Pagini recente » Cod sursa (job #1807019) | Rating Leonte Gabriela (gabriela.leonte) | Cod sursa (job #2686417) | Cod sursa (job #1015949) | Cod sursa (job #2225815)
#include <fstream>
using namespace std;
ifstream cin ("curcubeu.in");
ofstream cout ("curcubeu.out");
const int NMAX = 1000005;
int n;
int a[1 + NMAX], b[1 + NMAX], c[1 + NMAX], poz[1 + NMAX], v[1 + NMAX];
int main() {
cin >> n >> a[1] >> b[1] >> c[1];
if(a[1] > b[1])
swap(a[1], b[1]);
poz[1] = 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;
poz[i] = i;
}
for(int i = 1; i < n; i++) {
int j = a[i];
while(j <= b[i]) {
if(v[j])
j = poz[j];
else {
v[j] = c[i];
poz[j] = b[i] + 1;
j++;
}
}
}
for(int i = 1; i < n; i++)
cout << v[i] << "\n";
return 0;
}