列舉:poj畫家問題
/***********
poj 畫家問題
測試:input:
3yyy
yyyyyy
output:
0input:
5wwwww
wwwww
wwwww
wwwww
wwwww
output:
15**********/
#include #include using namespace std;
int min_painting_blocks(int input_state[17][17], int n)
; // 存放對牆塗畫的動作
// 列舉對第一行的牆的操作
int p = pow(2, n); // 計算第一行塗畫的可能數
for(int d=0;d1)
continue;
}else
}painted_state[1][1]++;
int t = 1;
while(painted_state[1][t]>1)
if(temp_bolcks> n;
for(int i=1;i<=n;i++)
else if(temp_c=='y') }}
// 對輸入狀態進行判斷
min_blocks = min_painting_blocks(input_state, n);
if(min_blocks==300)
cout << "inf" << endl;
else
cout << min_blocks << endl;
return 0;
}
畫家問題和撥鐘問題 列舉法 舉例
畫家問題 總時間限制 1000ms 記憶體限制 65536kb 描述 有乙個正方形的牆,由n n個正方形的磚組成,其中一些磚是白色的,另外一些磚是黃色的。bob是個畫家,想把全部的磚都塗成黃色。但他的畫筆不好使。當他用畫筆塗畫第 i,j 個位置的磚時,位置 i 1,j i 1,j i,j 1 i,j...
POJ 1681(畫家問題)
poj 1681,畫家問題,同熄燈問題 poj 2811 通過二進位制列舉第一行的情況後逐行操作,判斷最後一行是否全塗色 include include include using namespace std bool floors 20 20 copyf 20 20 intmain if leng...
POJ熄燈問題(列舉法)
題目 有乙個由按鈕組成的矩陣,其中每行有6個按鈕,共5行。每個按鈕的位置上有一盞燈。當按下乙個按鈕後,該按鈕以及周圍位置 上邊 下邊 左邊 右邊 的燈都會改變一次。即,如果燈原來是點亮的,就會被熄滅 如果燈原來是熄滅的,則會被點亮。在矩陣角上的按鈕改變3盞燈的狀態 在矩陣邊上的按鈕改變4盞燈的狀態 ...