luogu P1162 填塗顏色

2021-09-27 04:11:57 字數 1646 閱讀 7412

由數字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

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)

接下來n行,由0和1組成的n×n的方陣。

方陣內只有乙個閉合圈,圈內至少有乙個0。

已經填好數字2的完整方陣。

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

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

#include

#include

#include

using

namespace std;

const

int maxn=

101;

int a[maxn]

[maxn]

,b[maxn]

[maxn]

;int n;

bool vis[maxn]

[maxn]

;// 座標

struct xoy};

void

bfs(

)for

(int i=

1; i<=n; i++

)while

(!q.

empty()

)return;}

intmain()

bfs();

for(

int i=

1; i<=n; i++

)return0;

}

#include

#include

#include

#include

#include

using

namespace std;

const

int n=40;

int a[n]

[n];

bool visited[n]

[n];

int n;

int dx[4]

=;int dy[4]

=;struct node};

bool

border

(int x,

int y)

void

bfs()}

}}intmain()

puts(""

);}return0;

}

luoguP1162填塗顏色

題目鏈結 這道題剛開始打的暴力,64分。include include include includeusing namespace std const int n 30 int n,a n n last n int main for int i 0 i n i for int i 0 i n i ...

搜尋 luoguP1162 填塗顏色

題目 一道很裸的搜尋題 我們可以一開始把所有的零賦值成2 然後從四條邊界往裡搜 所有與邊界相鄰的2 能搜到的2 都賦值成0即可 最後輸出整個矩陣 如下 include include include using namespace std define in read typedef long lo...

Luogu P1162 填塗顏色題解

問題分析 分析題目可得此問題為連通塊問題 因此題列舉被包圍的 0 較難 所以可用列舉每乙個不被包圍的 0 設計程式 1 include2 include3 include4 include5 include6 using namespace std 7const int n 30 5 8 intn,...