题解:AT_abc370_d [ABC370D] Cross Explosion
题面传送门
吐槽:为啥很多大佬说 D 卡常,但是蒟蒻觉得不卡啊。
题目大意
给你一个
- 如果在
(R_q, C_q) 处有墙,则摧毁该面墙,并结束本次操作。 - 如果在
(R_q, C_q) 处没有墙,则摧毁在该位置上下左右出现的第一面墙。
请你输出这
思路&分析
不妨先想想暴力,暴力很简单,只需要判断一下当前位置是否有墙,如果有就摧毁这面墙,否则就朝上下左右四个方向遍历,找到第一面墙摧毁即可。
考虑优化,我们可以开一个数组来记录这个点被重复炸了几次,记为
于是我们就愉快的解决了此题。
CODE
赛时代码