#ENUM01. 熄灯问题

熄灯问题

No testdata at current.

燈的問題(Bailian 2811)

題目描述

有一個由按鈕組成的矩陣,其中每行有6個按鈕,共5行。每個按鈕的位置上有一盞燈。

當按下一個按鈕後,該按鈕以及周圍位置(上邊、下邊、左邊、右邊)的燈都會改變一次。即:

  • 如果燈原來是點亮的,則會被熄滅;
  • 如果燈原來是熄滅的,則會被點亮。

在矩陣角上的按鈕會改變3盞燈的狀態; 在矩陣邊上的按鈕會改變4盞燈的狀態; 其他的按鈕則改變5盞燈的狀態。

舉例說明:
左邊矩陣中用 X 標記的按鈕表示被按下,右邊的矩陣則表示燈狀態的改變。


對矩陣中的每盞燈設定一個初始狀態。
請你按下按鈕,直至每一盞燈都熄滅

需要注意:

  1. 第2次按下同一個按鈕時,會抵消第1次按下所產生的結果。因此,每個按鈕最多只需要按下一次;
  2. 各個按鈕被按下的順序對最終的結果沒有影響;
  3. 對第1行中每盞點亮的燈,按下第2行對應的按鈕,就可以熄滅第1行的全部燈。如此重複下去,可以熄滅第1、2、3、4行的全部燈。同樣,按下第1、2、3、4、5列的按鈕,可以熄滅前5列的燈。

輸入格式

輸入由5行組成,每行包括6個數字(01),相鄰兩個數字之間用單個空格隔開。

  • 0 表示燈的初始狀態是熄滅的;
  • 1 表示燈的初始狀態是點亮的。

輸出格式

輸出由5行組成,每行包括6個數字(01),相鄰兩個數字之間用單個空格隔開。

  • 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