社区讨论
疑似错误解法通过
P10961划分大理石参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhjaukvn
- 此快照首次捕获于
- 2025/11/03 23:33 4 个月前
- 此快照最后确认于
- 2025/11/03 23:33 4 个月前
二进制分组:
CPPfor (int u = 1; u <= 6; u++) {
for (int i = 0; 1 << i <= a[u]; i++) {
w[++n] = u * (1 << i);
a[u] -= 1 << i;
}
}
这么写是有正确性问题的,经 cout 大法检验这样分组是不正确的,但输出正确且过了。
改成:
CPPfor (int u = 1; u <= 6; u++) {
int i = 1;
while (i < a[u]) {
w[++n] = u * i;
a[u] -= i;
i <<= 1;
}
w[++n] = a[u] * u;
}
虽然是对的,但它通过了。
回复
共 2 条回复,欢迎继续交流。
正在加载回复...