1050 棋盤染色 2

2022-05-03 11:39:18 字數 1197 閱讀 2347

時間限制: 1 s

空間限制: 128000 kb

題目等級 : 大師 master

題解有乙個5*n的棋盤,棋盤中的一些格仔已經被染成了黑色,你的任務是對最少的格仔染色,使得所有的黑色能連成一塊。

輸入描述 input description

第一行乙個整數n(<=100),接下來n行每行乙個長度為5的01串,1表示所在格仔已經被染成了黑色,0表示所在格仔沒有被染色。

輸出描述 output description

第一行乙個整數n(<=100),接下來n行每行乙個長度為5的01串,1表示所在格仔已經被染成了黑色,0表示所在格仔沒有被染色。

樣例輸入 sample input

511100

11000

10000

01111

11111

樣例輸出 sample output

資料範圍及提示 data size & hint

n(<=100)

分類標籤 tags 點此展開 

動態規劃

狀態壓縮型dp

70分**,tle了4個點

原理:用棋盤染色1(搜尋)

70**:

#include#include

using

namespace

std;

#define n 110

const

int dx=;

const

int dy=;

intn,sx,sy,tot,total;

bool a[n][6],vis[n][6

];void check_dfs(int x,inty)}

bool can(int

x)bool power_dfs(int x,int y,int now,int

sum)

for(int j=y+1;j<=5;j++)

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

return0;

}int

main()} }

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

}return0;

}

ac**:(狀壓dp超noip範圍,**又那麼長,看一眼就困了)

1050 棋盤染色 2

1050棋盤染色2 題目描述description 有乙個5 n的棋盤,棋盤中的一些格仔已經被染成了黑色,你的任務是對最少的格仔染色,使得所有的黑色能連成一塊。輸入描述input description 第一行乙個整數n 100 接下來n行每行乙個長度為5的01串,1表示所在格仔已經被染成了黑色,0...

棋盤染色2

題目描述 有乙個5 n的棋盤,棋盤中的一些格仔已經被染成了黑色,你的任務是對最少的格仔染色,使得所有的黑色能連成一塊。輸入描述 第一行乙個整數n n 100 接下來n行每行乙個長度為5的01串,1表示所在格仔已經被染成了黑色,0表示所在格仔沒有被染色。輸出描述 輸出乙個整數,表示最少需要染色的格仔數...

1049 棋盤染色

時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解檢視執行結果 有乙個5 5的棋盤,上面有一些格仔被染成了黑色,其他的格仔都是白色,你的任務的對棋盤一些格仔進行染色,使得所有的黑色格仔能連成一塊,並且你染色的格仔數目要最少。讀入乙個初始棋盤的狀態,輸出最少需要對多少個格仔進行染...