社区讨论
第三问的一个幽默事情
P4604[WC2017] 挑战参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mk9f5tuz
- 此快照首次捕获于
- 2026/01/11 15:35 上个月
- 此快照最后确认于
- 2026/01/15 13:00 上个月
这份代码会 T 掉。
CPPu32 f[540005];
void main() {
int n;
scanf("%d", &n);
char *s = new char[n + 1];
scanf("%s", s);
u32 ans;
u32 *p = f + 266667;
p[0] = 1;
for (int i = 0; i < n; i++){
if (s[i] == '('){
--p;
p[0] = 0;
}else if (s[i] == ')'){
++p;
}else{
--p;
p[0] = 0;
for (int j = 0; j <= i; j++)
p[j] += p[j + 2];
}
}
ans = p[0];
printf("%u\n", ans);
}
这份代码完全不卡常。
CPPu32 f[540005];
void main() {
int n;
scanf("%d", &n);
char *s = new char[n + 1];
scanf("%s", s);
u32 ans;
u32 *p = f + 266667;
p[0] = 1;
for (int i = 0; i < n; i++){
if (s[i] == '('){
--p;
p[0] = 0;
}else if (s[i] == ')'){
++p;
}else{
--p;
p[0] = 0;
const int awa = std::min(i, n - i);
for (int j = 0; j <= awa; j++)
p[j] += p[j + 2];
}
}
ans = p[0];
printf("%u\n", ans);
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...