#ENUM01. 熄灯问题
熄灯问题
No testdata at current.
燈的問題(Bailian 2811)
題目描述
有一個由按鈕組成的矩陣,其中每行有6個按鈕,共5行。每個按鈕的位置上有一盞燈。
當按下一個按鈕後,該按鈕以及周圍位置(上邊、下邊、左邊、右邊)的燈都會改變一次。即:
- 如果燈原來是點亮的,則會被熄滅;
- 如果燈原來是熄滅的,則會被點亮。
在矩陣角上的按鈕會改變3盞燈的狀態; 在矩陣邊上的按鈕會改變4盞燈的狀態; 其他的按鈕則改變5盞燈的狀態。
舉例說明:
左邊矩陣中用X
標記的按鈕表示被按下,右邊的矩陣則表示燈狀態的改變。
對矩陣中的每盞燈設定一個初始狀態。
請你按下按鈕,直至每一盞燈都熄滅。
需要注意:
- 第2次按下同一個按鈕時,會抵消第1次按下所產生的結果。因此,每個按鈕最多只需要按下一次;
- 各個按鈕被按下的順序對最終的結果沒有影響;
- 對第1行中每盞點亮的燈,按下第2行對應的按鈕,就可以熄滅第1行的全部燈。如此重複下去,可以熄滅第1、2、3、4行的全部燈。同樣,按下第1、2、3、4、5列的按鈕,可以熄滅前5列的燈。
輸入格式
輸入由5行組成,每行包括6個數字(0
或1
),相鄰兩個數字之間用單個空格隔開。
0
表示燈的初始狀態是熄滅的;1
表示燈的初始狀態是點亮的。
輸出格式
輸出由5行組成,每行包括6個數字(0
或1
),相鄰兩個數字之間用單個空格隔開。
1
表示需要把對應的按鈕按下;0
表示不需要按對應的按鈕。
樣例輸入
0 1 1 0 1 0
1 0 0 1 1 1
0 0 1 0 0 1
1 0 0 1 0 1
0 1 1 1 0 0
樣例輸出
1 0 1 0 0 1
1 1 0 1 0 1
0 0 1 0 1 1
1 0 0 1 0 0
0 1 0 0 0 0