Pagini recente » Cod sursa (job #522688) | Cod sursa (job #2403444) | Cod sursa (job #1129280) | Cod sursa (job #906085) | Cod sursa (job #1655808)
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream in("curcubeu.in");
ofstream out("curcubeu.out");
int n;
in >> n;
vector < int > a(n, 0), b(n, 0), c(n, 0);
in >> a[1] >> b[1] >> c[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;
}
vector < int > color(n, 0), next(n, 0);
for(int i = n - 1; i > 0; i--) {
int l = min(a[i], b[i]);
int r = max(a[i], b[i]);
while(l <= r) {
if(!color[l]) {
color[l] = c[i];
next[l++] = r + 1;
}
else {
l = next[l];
}
}
}
for(int i = 1; i < n; i++) {
out << color[i] << '\n';
}
return 0;
}