乙個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個按鈕,按鈕也是燈。每次按下乙個按鈕,這個按鈕和它的上下左右相鄰按鈕將同時切換各自的亮滅狀態。給你乙個初始狀態,請給出一種方法,按某些按鈕...