poj 1222

2022-08-05 15:15:17 字數 681 閱讀 7315

大意:熄燈遊戲,給定一個5行6列的矩陣,表示30個燈,, 給定燈的初始狀態,1表示開,0表示關,然後你可以操作,改變燈的狀態,但是改燈的上下左右四個方向上的燈的狀態也會改變,(開的變成關的,關的變成開的),,要求輸出,你執行的操作。。1表示改變0表示未變。

解題思路:

方法一:列舉;

一共有30個燈,所以一共有2^30的改變方法。。一一列舉肯定會tle,可以發現有這樣的特點,當(i,j)上方的(i-1,j)為1時,(i,j)一定要變;當(i-1,j)為0時,(i,j)一定不能變。。可以這樣考慮,只需列舉第一行的狀態,就可以根據這種特點得出第二行,第三行,第四行,。。。的狀態。。

1 #include 2

3using

namespace

std;

4int map[7][8],press[7][8];5

6int

text()11}

12for(int i=1;i<=6;i++)

16return1;

17}1819

void

get_press()31}

32}3334

intmain()

3549 cout<6]<51}

52return0;

53 }

方法二: 高斯消元。。還沒看懂。。。

POJ 1222 高斯消元

題意 給你一個5 6的矩陣,你可以在任意位置對這個位置及其上下左右 如果有的話 進行xor 讀作 叉歐二 d 操作,求解在哪些地方進行。 思路 0 一個顯而易見就超時的方法 2 30 ,列舉第i個燈是開是關 但為第一種方法提供了思路 1 好像可以列舉第一行,然後通過遞推算中間的幾行,判斷最後一行成不...

bzoj 1222

比較簡單的揹包dp,設計狀態f i j 表示到了前i個物品,第一臺機器加工時間為j,第二臺機器加工所用的最小時間,然後揹包轉移即可 本題卡空間,需要滾動陣列優化 本題卡時間,稍微卡下常就行 include include include include include include include...

POJ 1222 開關問題 高斯消元法

題目連結 題目大意 一堆開關,或開或關。每個開關按下後,周圍4個方向開關反轉。問使最後所有開關都關閉的,開關按法。0表示不按,1表示按。 解題思路 一共只有5 6個開關。 對於每個開關,設其最終狀態為x5,上下左右四個開關最終狀態分別為x1 x2 x3 x4 那麼有方程x1 x2 x3 x4 x5 ...