P1162 填涂颜色
https://www.luogu.com.cn/problem/P1162?contestId=96615
我的思路:
① 从a[0][0]入队,后a[0][0]出队,后先把a[1][0]入队,再把a[0][1]入队,两者的顺序不可以颠倒
② 之后以a[i][j]不断出队,a[i+1][j]和a[i][j+1]入队
若出队元素为0,则对于本元素正下一个元素和正右一个不予修改
若出队元素为1或者是2,则对于本元素正下一个元素和正右一个是0的元素修改为2
③ 其中需要有边界的判断,分为副主对角线之上和之下,副主对角之上不需要判断矩阵边界,副主对角线之下需要判断边界,判断边界的条件是:(若矩阵维数为n,则当行下标i为n-1或者是当列下标j为n-1)
循环停止的条件:由此不断出队和入队,BFS遍历所有节点,循环结束的条件是出队的元素数量是n*n(矩阵维数为n)则停止循环
- 1.