列舉問題 POJ畫家問題

2021-10-03 21:25:12 字數 889 閱讀 3770

列舉: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盞燈的狀態 ...