題目
由數字0組成的方陣中,有一任意形狀閉合圈,閉合圈由數字1構成,圍圈時只走上下左右4個方向。0 0 0 0 0 0現要求把閉合圈內的所有空間都填寫成2.例如:
\6×6的方陣(n=6),塗色前和塗色後的方陣如下:
0 0 1 1 1 1
0 1 1 0 0 1
1 1 0 0 0 1
1 0 0 0 0 1
1 1 1 1 1 1
0 0 0 0 0 0
0 0 1 1 1 1
0 1 1 2 2 1
1 1 2 2 2 1
1 2 2 2 2 1
1 1 1 1 1 1
每組測試資料第一行乙個整數n(1≤n≤30)輸入 #1 複製接下來n行,由0和1組成的n×n的方陣
方陣內只有乙個閉合圈,圈內至少有乙個0。
60 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
1 1 1 1 1 1
輸出 #1 複製
0 0 0 0 0 0
0 0 1 1 1 1
0 1 1 2 2 1
1 1 2 2 2 1
1 2 2 2 2 1
1 1 1 1 1 1
說明/提示
1≤n≤30
題要把 被1包圍著的0變成2.其他0不變。然後輸出。。。
首先要假設方陣外圍還有一圈0,然後從最左上角那個0開始搜。 又不然很難找到乙個不是1包圍外的0開始搜。
然後沒然後了。。。開始廣搜。
#includeusing namespace std;
#includeint n;
int maze[35][35];
bool vis[35][35];
int dir[4][2] = ,,, };
bool in(int x,int y)
queue> q;
int main()
} //for(int i=1;i<=n;i++)
// cout/ }
q.push(make_pair(0,0));
vis[0][0]= true;
while(!q.empty())
} q.pop();
} for(int i=1;i<=n;i++)else
} cout
}
廣度優先搜尋 填塗顏色
前排提示 壯哉我大c黨 洛谷 p1162 填塗顏色 題目描述 由數字0 組成的方陣中,有一任意形狀閉合圈,閉合圈由數字1構成,圍圈時只走上下左右4個方向。現要求把閉合圈內的所有空間都填寫成2.例如 6x6的方陣 n 6 塗色前和塗色後的方陣如下 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
搜尋 luoguP1162 填塗顏色
題目 一道很裸的搜尋題 我們可以一開始把所有的零賦值成2 然後從四條邊界往裡搜 所有與邊界相鄰的2 能搜到的2 都賦值成0即可 最後輸出整個矩陣 如下 include include include using namespace std define in read typedef long lo...
洛谷P1162 填塗顏色(BFS廣度優先搜尋)
基礎是bfs,還不懂的同學移步 洛谷p1135 奇怪的天梯 bfs廣度優先搜尋基礎題 張牧歌 cnblogs.com 這裡不做多贅述。這裡拿photoshop來舉例。這裡是乙隻嘉然,如果我不要這個白色背景,只要本體可以怎麼摳圖呢?對ps有了解的同學可以使用魔棒工具,即選取與點選地方顏色相近的部分。將...