无语他妈给无语开门
一个机房,除了我全都A了,结果一个都调不出来
一大半都是抄的题解
const int N = 1E6 + 3;
int fa[N];
int find(int x) { return x == fa[x] ? x : (fa[x] = find(fa[x])); }
int ans[N];
main() {
int n, m, p, q;
scanf("%d%d%d%d", &n, &m, &p, &q);
for (int i = n; i; --i)
fa[i] = i;
do {
int l = (m * p + q) % n + 1, r = (m * q + p) % n + 1;
if (l > r)
swap(l, r);
while ((l = find(l)) <= r) {
ans[l] = m;
fa[l] = l + 1;
}
} while (--m);
while (m++ ^ n)
printf("%d\n", ans[m]);
}
rt,调出来我让教练把键盘吃了。