Pagini recente » Cod sursa (job #2935979) | Cod sursa (job #1401708) | Cod sursa (job #298845) | Cod sursa (job #374356) | Cod sursa (job #3170915)
#include <fstream>
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
const int LMAX = 1000001;
int a[LMAX], b[LMAX], c[LMAX], exactcol[LMAX], nxt[LMAX];
int main() {
int n;
fin >> n >> a[1] >> b[1] >> c[1];
nxt[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;
nxt[i] = i;
}
nxt[n] = 0;
for (int i = n-1; i > 0; i--) {
int x, y;
x = min(a[i], b[i]);
y = max(a[i], b[i]);
while (x <= y) {
if (exactcol[x] == 0) {
exactcol[x] = c[i];
nxt[x] = y + 1;
x++;
}
else {
x = nxt[x+1];
}
}
}
for (int i = 1; i < n; i++) {
fout << exactcol[i]<<endl;
}
fin.close();
fout.close();
return 0;
}