Pagini recente » Cod sursa (job #22676) | Cod sursa (job #358066) | Cod sursa (job #1335176) | Cod sursa (job #2856085) | Cod sursa (job #797097)
Cod sursa(job #797097)
#include <fstream>
#include <iostream>
using namespace std;
#define MAXN 1100000
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
int n, a[MAXN], b[MAXN], c[MAXN], next[MAXN], cul[MAXN];
int main() {
int i, j;
fin >> n >> a[1] >> b[1] >> c[1];
if (a[1] > b[1]) swap(a[1], b[1]);
for (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;
if (a[i] > b[i]) swap(a[i], b[i]);
}
for (i = n; i > 0; --i)
for (j = a[i]; j <= b[i];) {
if (!cul[j]) {
cul[j] = c[i];
next[j] = b[i] + 1;
++j;
}
else
j = next[j];
}
for (i = 1; i < n; ++i)
fout << cul[i] << "\n";
return 0;
}