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