時間限制: 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#includeusing
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的棋盤,上面有一些格仔被染成了黑色,其他的格仔都是白色,你的任務的對棋盤一些格仔進行染色,使得所有的黑色格仔能連成一塊,並且你染色的格仔數目要最少。讀入乙個初始棋盤的狀態,輸出最少需要對多少個格仔進行染...