kyBWE @ 2021-11-11 19:58:51
洛谷的评测机大概不支持如下写法:
c[1][++k]=c[2][k]=c[4][k]=c[5][k]=true;
我在本地跑出来的结果是这样的:
而洛谷IDE跑出来是这样的......
迫于无奈我只能改成了
k++;
c[1][k]=c[2][k]=c[4][k]=c[5][k]=true;
by dtrthg @ 2021-11-11 20:00:33
好臭的数据
by 一E孤行 @ 2021-11-11 20:00:55
C++ 的等号感觉像是从右往左运算的,这样写就比较危险
当时窝写主席树的时候就被这种东西坑过
by kyBWE @ 2021-11-11 20:02:06
@dtrthg
其实这是第一组测试数据(
by esquigybcu @ 2021-11-11 20:02:18
@kyBWE 支持啊,都g++8了
by kyBWE @ 2021-11-11 20:03:17
@pzq_loves_qwq
啊?那我这跑出来结果怎么不对啊
by kyBWE @ 2021-11-11 20:05:01
@一E孤行
我试了一下把 ++k 放在最后一个中括号里结果就对了......
谢大佬指点(
by esquigybcu @ 2021-11-11 20:07:17
@kyBWE 您多加了个 if (i != 5)
(第97行),您应该是错在这了
by 一E孤行 @ 2021-11-11 20:07:57
@kyBWE 但这种连等或者左右都有自加自减这种的尽量写到外面去。
感觉是倒着运算的,但这玩意具有玄学性
by esquigybcu @ 2021-11-11 20:08:14
这份代码 加了 if (i != 5)
能过
by esquigybcu @ 2021-11-11 20:09:00
顺便说一句,确实是从右往左
但还是不写为好