POJ 1222 開關問題高斯消元法

2021-07-20 15:03:49 字數 743 閱讀 6712

乙個01矩陣,表示燈的亮滅狀態,每次操作可以改變乙個十字形狀內的五個燈的狀態。問能否將所有燈熄滅。

最後輸出開關的狀態。

思路:開燈關燈問題,5*6的燈陣,將每乙個位置上開關狀態看做乙個變元,30個變元,而對於30個位置的燈的狀態當成開關狀態的解,列出30個異或方程,高斯消元解方程即可(增廣矩陣)。

對於每個狀態,影響他的條件與五個位置的開關狀態有關,讓這五個狀態的開關係數為1 ,其他的係數為0,表示無影響。

最後輸出30個開關的狀態即可。

開關問題,乙個開關最多隻會被按1次。

各個按鈕被按下的順序對最終的結果沒有影響;

詳情看**:

#include#include#include#include#define ll long long

#define bug puts("************")

using namespace std;

const int n=110;

int a[n][n];

int dx=;

int dy=;

int xx[n];

void guess(int equ,int var)}}

// for(int i=0;i<30;i++){

// for(int j=0;j<30;j++)

// printf("%d ",a[i][j]);

// cout<

poj1222開關問題, 高斯消元

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

POJ 1222 開關問題 高斯消元法

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

poj 1222 (高斯消元)

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