POJ 1222 開關問題 高斯消元法

2022-07-04 14:24:14 字數 833 閱讀 8884

題目鏈結

題目大意:一堆開關,或開或關。每個開關按下後,周圍4個方向開關反轉。問使最後所有開關都關閉的,開關按法。0表示不按,1表示按。

解題思路

一共只有5*6個開關。

對於每個開關,設其最終狀態為x5,上下左右四個開關最終狀態分別為x1,x2,x3,x4,

那麼有方程x1^x2^x3^x4^x5^初始狀態=0。

這樣就有30個方程。解這30個線性方程組即可。

用高斯消元法來解方程組,變化如下:

①對於原本找列中絕對值最大這一步,可以簡化成找第乙個為1的k,因為係數矩陣不是0就是1,最大就是1。

②原本的+號現在變成^號。

這裡推薦一下cxlove

神牛的簡潔寫法,他把col和row合二而一,又將解向量和係數矩陣合二為一,非常吊。

#include "

cstdio

"#include

"iostream

"using

namespace

std;

int ratio[31][31],dir[5][2]=;

void

reset()

}void

guess()

}}int

main()

}}

13596495

neopenx

1222

accepted

160k

0msc++

1186b

2014-11-04 00:51:23

poj1222開關問題, 高斯消元

題意 給個5x6的矩陣,只有0和1 然後叫你將1全部翻成0 理解 直接就是開關問題啦.列舉第一行的情況,推出所有.不過我自己竟然沒考慮到0的情況.看討論說可以用高斯消元法做 但我並不會.得學習下 看了大神的 發現高斯消元有點麻煩 它是根據某座標與其他座標的關係來列方程 共30個方程,30個未知數.然...

POJ 1222 開關問題高斯消元法

乙個01矩陣,表示燈的亮滅狀態,每次操作可以改變乙個十字形狀內的五個燈的狀態。問能否將所有燈熄滅。最後輸出開關的狀態。思路 開燈關燈問題,5 6的燈陣,將每乙個位置上開關狀態看做乙個變元,30個變元,而對於30個位置的燈的狀態當成開關狀態的解,列出30個異或方程,高斯消元解方程即可 增廣矩陣 對於每...

poj 1222 (高斯消元)

1 高斯消元法求解 適用於01方矩陣的問題,不適用在解線性方程組中 首先介紹一下怎樣用高斯消元法解題!這個遊戲的名字叫做lights out。乙個板子上面有mxn個按鈕,按鈕也是燈。每次按下乙個按鈕,這個按鈕和它的上下左右相鄰按鈕將同時切換各自的亮滅狀態。給你乙個初始狀態,請給出一種方法,按某些按鈕...