2638 黑白染色

2021-08-02 23:15:47 字數 945 閱讀 8314

題目鏈結

題目大意:黑白矩陣,每次可以選擇乙個四聯通塊染色,求最少操作次數

題解:將目標狀態裡相同顏色的聯通塊縮點,列舉起點,生成樹里的最大節點深度就是需要的次數了

如果最大深度是白色的話記得-1

我的收穫:bfs樹

#include 

#include

#include

#include

using

namespace

std;

const

int maxn = 54;

const

int dx = ;

const

int dy = ;

char color[maxn * maxn];

vector

e[maxn * maxn];

char buf[maxn][maxn];

int tag[maxn][maxn];

void floodfill(int x, int y, int z, char c)

buf[x][y] = '\0';

tag[x][y] = z;

for (int i = 0; i < 4; ++i)

}int gao(int n, int s) }}

return ret;

}int main()

n = 0;

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

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

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

ans = n;

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

printf("%d\n", ans + 1);

return

0;}

bzoj2638 黑白染色

比較蛋疼的是我們可以先染個底色,再在底色上染別的東西。由ccz大爺的題解可得。將目標狀態裡相同顏色的聯通塊縮點後,列舉起點,生成樹里的最大節點深度就是需要的次數了,如果最大深度是白色的話記得 1.1 include2 include3 include4 include5 using namespac...

BZOJ2638 黑白染色

試題描述 你有乙個 n times m 的矩形,一開始所有格仔都是白色,然後給出乙個目標狀態的矩形,有的地方是白色,有的地方是黑色,你每次可以選擇乙個連通塊 四連通塊,且不要求顏色一樣 進行染色操作 染成白色或者黑色 問最少操作次數。輸入第一行兩個數 n m 表示矩形大小。接下來n行描述目標狀態,每...

E Cover it 黑白染色問題

傳送門哈哈傳遞哈斯防火牆 因為圖 聯通,我 們任取一 點開始遍 歷因為圖聯通,我們任取一點開始遍歷 因為圖聯通,我們任取 一點開始 遍歷 比如從 點1開始 那麼假 設1塗色 比如從點1開始,那麼假設1塗色 比如從點1開 始,那麼 假設1塗 色 那 麼和 1相鄰的 不上色,相鄰的相 鄰上 色那麼和1相...