Pagini recente » Cod sursa (job #1768186) | Cod sursa (job #2814534) | Cod sursa (job #430746) | Cod sursa (job #1183629) | Cod sursa (job #1655810)
#include <fstream>
using namespace std;
const int N = 1000005;
int a[N], b[N], c[N];
int color[N], nxt[N];
int main() {
ifstream in("curcubeu.in");
ofstream out("curcubeu.out");
int n, i, l, r;
in >> n >> a[1] >> b[1] >> c[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;
}
for(i = n - 1; i > 0; i--) {
l = min(a[i], b[i]);
r = max(a[i], b[i]);
while(l <= r) {
if(color[l]) {
l = nxt[l];
continue;
}
color[l] = c[i];
nxt[l] = r + 1;
l++;
}
}
for(i = 1; i < n; i++) {
out << color[i] << '\n';
}
return 0;
}