題意:
給你乙個5*6的矩陣,你可以在任意位置對這個位置及其上下左右(如果有的話)進行xor【讀作:叉歐二 ( :-d) 】操作,求解在哪些地方進行。
思路:
0. 乙個顯而易見就超時的方法(2^30),列舉第i個燈是開是關 但為第一種方法提供了思路
1.好像可以列舉第一行,然後通過遞推算中間的幾行,判斷最後一行成不成立。
2.高斯消元,30個異或方程。
自己寫得第一發高斯消元(雖然**比較冗長,但自己yy出來很雞凍)
// by sirius_ren
#include
#include
using
namespace
std;
int eli[35][35],ans[31],x[32],cases,tot;
void solve()
int main()
for(int i=1;i<=29;i++)
for(int l=1;l<=30;l++)
if(eli[i][l]&&!x[l])
solve();
for(int i=29;i>=1;i--)
for(int j=1;j<=30;j++)
if(x[j]==i)
printf("puzzle #%d\n",ii);
for(int i=1;i<=30;i++)
}}
poj 1222 (高斯消元)
1 高斯消元法求解 適用於01方矩陣的問題,不適用在解線性方程組中 首先介紹一下怎樣用高斯消元法解題!這個遊戲的名字叫做lights out。乙個板子上面有mxn個按鈕,按鈕也是燈。每次按下乙個按鈕,這個按鈕和它的上下左右相鄰按鈕將同時切換各自的亮滅狀態。給你乙個初始狀態,請給出一種方法,按某些按鈕...
poj 1222 高斯消元
第一次寫高斯消元 題意很簡單 就是是全部燈變暗,一盞燈開關會使周圍的燈變化,初始狀態給了。每盞燈就是乙個x a就是相關關係 就是求 ax b 的解 自己寫的模版有點搓,可以去別的文章去看看 優美點的 include include include include include using name...
高斯消元 poj 1222
高斯消元求唯一解集x 關鍵是初始化構造係數矩陣,有了增廣矩陣套模板即可 poj 1222 高斯消元 題意 類似於翻轉棋,按一下上下中左右翻轉,給定初始狀態,問回到全0的狀態的按鍵方案 思路 對於每個位置,倒著想,初始為0,上下中左右加起來為初始狀態,每乙個位置皆如此。30個位置,30個變數,30個方...