poj1222開關問題, 高斯消元

2021-07-08 21:51:36 字數 931 閱讀 2496

題意:

給個5x6的矩陣,只有0和1;

然後叫你將1全部翻成0;

理解:直接就是開關問題啦...

列舉第一行的情況,推出所有...

不過我自己竟然沒考慮到0的情況....

看討論說可以用高斯消元法做;

但我並不會...得學習下;

看了大神的**..發現高斯消元有點麻煩;

它是根據某座標與其他座標的關係來列方程;

共30個方程,30個未知數....

然後求唯一解;

這樣的話我就覺得麻煩了.....

**如下:

太冗長了...

#include #include #include #include using namespace std;

vectorvec[6], puz[6], v_c[6];

int d[4][2] = ;

void pre(int x, int y)

}}bool ok(int m)

}for (int i = 0; i < 6; ++i)

}//for (int i = 0; i < 5; ++i)

//printf("~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

for (int i = 1; i < 5; ++i)}}

for (int i = 0; i < 6; ++i)

}for (int i = 0; i < 5; ++i)

printf("\n");

}return true;

}int main()

}printf("puzzle #%d\n", i);

for (int i = 0 ; i < (1 << 6); ++i)//0的情況....wa}}

return 0;

}

POJ 1222 開關問題高斯消元法

乙個01矩陣,表示燈的亮滅狀態,每次操作可以改變乙個十字形狀內的五個燈的狀態。問能否將所有燈熄滅。最後輸出開關的狀態。思路 開燈關燈問題,5 6的燈陣,將每乙個位置上開關狀態看做乙個變元,30個變元,而對於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個按鈕,按鈕也是燈。每次按下乙個按鈕,這個按鈕和它的上下左右相鄰按鈕將同時切換各自的亮滅狀態。給你乙個初始狀態,請給出一種方法,按某些按鈕...