placa

Time limit: 0.03s Memory limit: 2MB Input: placa.in Output: placa.outPoints by default: 10p

La o fabrică, se montează tt tipuri de componente (diode, circuite integrate, tranzistoare etc.), identificate prin codurile 1,2,3,,t1, 2, 3, \dots, t, pe plăci cu circuite electronice.
O placă este formată din mai multe zone, fiecare zonă având una sau mai multe componente de acelaşi tip şi poate fi reprezentată printr-o matrice, notată PP. Pentru fiecare componentă electronică, se pot utiliza mai multe exemplare pe placă. Fiecare exemplar ocupă pe placă un anumit număr de linii şi coloane cu poziţii consecutive. Pentru un nou model de placă electronică, se obţin mai multe variante, ce diferă între ele prin dispunerea componentelor pe zone. În toate variantele, numărul de exemplare din fiecare componentă are aceeaşi valoare.

Cerinţă

Având la dispoziţie o variantă a plăcii PP, pentru care se cunosc dimensiunile, exprimate în număr de linii şi număr de coloane, dispunerea componentelor pe placa PP şi datele iniţiale ale componentelor din modelul plăcii, să se verifice dacă toate componentele electronice de pe placa PP sunt plasate corect, conform modelului dat.

Date de intrare

Fişierul de intrare placa.in conţine pe prima linie două numere naturale nn şi mm, ce reprezintă numărul de linii şi numărul de coloane ale plăcii PP. Pe următoarele nn linii din fişier, se află câte mm numere naturale reprezentând în ordine configuraţia plăcii (tipurile componentelor de pe fiecare linie a plăcii PP).
Pe linia n+2n+2 din fişier se află un număr natural tt (reprezentând numărul de tipuri de componente utilizate în modelul plăcii), iar pe următoarele tt linii se descriu caracteristicile lor. Pe fiecare dintre cele tt linii din modelul plăcii, se află câte 3 numere naturale nenule, reprezentând numărul de exemplare al componentei, numărul de linii şi numărul de coloane ocupate de fiecare exemplar al componentei pe placă (linia n+3n+3 corespunde componentei 11, linia n+4n+4 corespunde componentei 22 etc.).

Date de ieşire

Fişierul de ieşire placa.out conţine pe prima linie codurile componentelor pentru care toate exemplarele sunt plasate pe placă conform modelului, în ordine crescătoare a valorilor şi separate între ele prin câte un spaţiu. Linia a doua din fişier conţine în ordine crescătoare următoarele numere, separate între ele prin câte un spaţiu:

  • codurile componentelor pentru care există cel puţin un exemplar ce nu este plasat pe placă conform modelului
  • codurile componentelor pentru care numărul de exemplare de pe placă nu corespunde cu numărul de exemplare din modelul plăcii.

Dacă pentru toate componentele, exemplarele plasate pe placă corespund modelului, linia a doua din fişier conţine numărul 00.

Restricţii şi precizări

  • 2n,m1002 \leq n, m \leq 100
  • 2t502 \leq t \leq 50
  • Fiecare exemplar al unei componente electronice ocupă cel puţin 22 coloane sau 22 linii pe placă
  • Pe placa PP există cel puţin o componentă plasată conform modelului plăcii şi nu există zone libere

Exemplul 1

placa.in

2 4
2 2 1 3
2 2 1 3
3
1 1 2
1 2 2
1 1 2

placa.out

2
1 3

Explicație

Componenta 22 are un exemplar pe placa, ce ocupa 22 linii si 22 coloane,conform modelului

Componentele 11 şi 33 au cate un exemplar dar care care nu este plasat conform modelului (ocupa 22 linii şi 11 coloana in loc de 11 linie si 22 coloane)

Exemplul 2

placa.in

3 4
1 4 4 2
1 4 4 2
5 5 5 5
5
1 2 1
1 2 1
1 1 2
1 1 2
2 1 2

placa.out

1 2 5
3 4

Explicație

Componentele 11, 22 şi 55 sunt plasate conform modelului, pentru toate exemplarele lor.
Componenta 33 are un exemplar care nu este plasat pe placă, conform modelului plăcii.
Componenta 44 are pe placă două exemplare în loc de un exemplar, cum se specifică în model.

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