先写了一个差分,但是交上去错到只剩一个点了。本地运行了一下,发现样例都过不去,输出了一下执行完所有操作之后的结果,发现大概是这个样子...
1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0
1 1 2 2 2 1 1 0 0 0
1 1 2 3 3 2 1 0 0 0
1 1 2 3 3 2 1 0 0 0
0 0 1 2 2 2 1 0 0 0
0 0 1 2 2 2 1 0 0 0
0 0 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
程序输出是 13 ,数了一下刚好是 13 个涂了两层油漆。手动模拟了一下结果和程序输出一样。
查了一下程序发现什么错误也找不出,于是开始瞎改,把区间改成 (x1+1,y1+1) 到(x2−1,y2−1) ,输出3,不对。把区间改成 (x1+1,y1+1) 到(x2,y2) ,输出8 ,不知道为什么就对了,然后立刻就交上去了,居然全对了
我以为是我的差分写错了导致的,但是按照题意写了一个暴力,交上去又错了好几个点,改成从(x1+1,y1+1)开始,又变成对的了
所以要么数据油锅,要么题面油锅,要么我代码油锅,但是查了好几遍也没发现什么地方写挂了