becuri

Time limit: 0.02s Memory limit: 4MB Input: becuri.in Output: becuri.out

Un panou publicitar, de formă dreptunghiulară conţine becuri, unul lângă altul, aliniate pe linii şi coloane.

Fiecare linie şi fiecare coloană are un comutator care schimbă starea tuturor becurilor de pe acea linie sau coloană, din starea în care se află în starea opusă (stins/aprins, aprins/stins). Asupra unui bec nu se poate acţiona individual. Iniţial panoul are toate becurile stinse.

Cerință

Să se realizeze un program care acţionând asupra unui număr minim de linii şi coloane aduce panoul din starea iniţială, la o configuraţie dată, dacă acest lucru este posibil.

Date de intrare

Se vor citi din fişierul becuri.in, care are următoarea configuraţie:

  • pe prima linie două numere naturale, mm şi nn, separate prin spaţiu, reprezentând numărul de linii şi de coloane ale panoului;
  • pe următoarele mm linii câte nn coloane, formate din elementele 00 sau 11, separate prin spaţiu, reprezentând configuraţia finală a panoului. 11 este codificarea unui bec aprins iar 00 a unui bec stins.

Date de ieșire

Se va afişa o soluţie în fişierul becuri.out astfel:

  • pe prima linie a fişierului indicii coloanelor asupra cărora s-a acţionat, separaţi prin spaţiu.
  • pe a doua linie a fişierului indicii linilor asupra cărora s-a acţionat, separaţi prin spaţiu.

Dacă nu se acţionează asupra liniilor sau coloanelor se va afişa pe linia corespunzătoare 00.

Numerotarea liniilor, respectiv coloanelor începe de la 11.

Dacă problema nu are soluţie, pe prima linie a fişierului de ieşire se va afişa 1–1.

Restricții și precizări

  • m,n100m,n \leq 100

Exemplu

becuri.in

5 6
1 0 1 1 0 1
1 0 1 1 0 1
1 0 1 1 0 1
0 1 0 0 1 0
0 1 0 0 1 0

becuri.out

2 5
1 2 3

Log in or sign up to be able to send submissions!