P1162填塗顏色

2022-03-10 18:41:07 字數 1033 閱讀 8439

這還是乙個搜尋題,難度較低,但我提交第三次才ac..

觀察0地圖左上角的上面和左面都是一,所以先把他找粗來,然後設成start,然後dfs找到與他聯通的塊,塗成2即可。再說一下自己犯的低階錯誤:1.當找到坐上角時,必須先break掉裡面的for,然後bool變數必須放在第乙個for的裡面,但我放在了上面,,,2.找到開始座標後先打上標記。3.忘記加dfs(tx,ty)了

1.預處理正確性需要保證,低階錯誤要手動避免

2.再去練習難度較大的搜尋題目

3.尋找好條件的客觀規律,然後去解決

4.提交的時候別自信滿滿,靜下心來想一想,noip上是黑盒!

**

#include#include

#include

#include

#include

#include

using

namespace

std;

intn;

int mp[40][40],book[40][40

];int dx[4]=;

int dy[4]=;

intstartx,starty;

bool flag=true

;void dfs(int x,int

y)

else

continue

; }

return;}

intmain()

}mp[

1][0]=6

; mp[

0][1]=6

;

for(int i=1;i<=n;i++)}}

}

}//coutcoutmp[startx][starty]=2

;

for(int i=1;i<=n;i++)

cout

<}

return0;

}

P1162 填塗顏色

題目描述 由數字000組成的方陣中,有一任意形狀閉合圈,閉合圈由數字111構成,圍圈時只走上下左右444個方向。現要求把閉合圈內的所有空間都填寫成222.例如 6 66 times 66 6的方陣 n 6n 6n 6 塗色前和塗色後的方陣如下 0 0 0 0 0 0 0 0 1 1 1 1 0 1 ...

P1162 填塗顏色(dfs)

由數字00組成的方陣中,有一任意形狀閉合圈,閉合圈由數字11構成,圍圈時只走上下左右44個方向。現要求把閉合圈內的所有空間都填寫成22.例如 6 times 66 6的方陣 n 6n 6 塗色前和塗色後的方陣如下 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0...

洛谷P1162 填塗顏色

由數字0組成的方陣中,有一任意形狀閉合圈,閉合圈由數字1構成,圍圈時只走上下左右4個方向。現要求把閉合圈內的所有空間都填寫成2.例如 6 6的方陣 n 6 塗色前和塗色後的方陣如下 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1...