Pagini recente » Cod sursa (job #1323694) | Cod sursa (job #571486) | Cod sursa (job #2169990) | Cod sursa (job #724888) | Cod sursa (job #797105)
Cod sursa(job #797105)
#include <fstream>
#include <iostream>
#include <cstdio>
using namespace std;
#define MAXN 1100000
ifstream fin("curcubeu.in");
int n, a[MAXN], b[MAXN], c[MAXN], next[MAXN], cul[MAXN];
int main() {
int i, j;
freopen("curcubeu.out", "w", stdout);
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] = (1LL * a[i - 1] * i) % n;
b[i] = (1LL * b[i - 1] * i) % n;
c[i] = (1LL * 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)
printf("%d \n", cul[i]);
return 0;
}