boats

Time limit: 0.2s Memory limit: 4MB Input: boats.in Output: boats.out

Pe o foaie de matematică cu NN pătrățele orizontale (pe aceeași linie) și MM pătrățele verticale (pe aceeași coloană), Alex a pictat nave. Definim o navă linie (LL) ca un set de pătrățele umbrite, consecutive pe un rând al foii de matematică. Definim o navă coloană (CC) ca un set de pătrățele umbrite, consecutive pe o coloană a foii de matematică. Dimensiunea unei nave este egală cu numărul de pătrățele din care este formată. O navă formată dintr-un singur pătrățel nu este nici linie, nici coloană. Navele pot avea diferite dimensiuni. Două nave diferite nu se ating pe laturi sau colțuri, nu se suprapun și nu au pătrățele comune. Pe foaia de matematică sunt pictate doar nave de cele 3 tipuri: navă linie (LL), navă coloană (CC) sau navă pătrățel.

Cerință

Cunoscându-se MM, NN și pictura lui Alex, scrieți un program care să determine:

  1. Numărul de nave formate doar dintr-un singur pătrățel;
  2. Numărul de nave linie și numărul de nave coloană, precum și dimensiunile acestora.

Date de intrare

Fişierul de intrare boats.in conţine pe prima linie un număr natural PP reprezentând cerinţa care trebuie să fie rezolvată (11 sau 22). Pe cea de a doua linie fișierul conține două numere întregi, separate printr-un spațiu, reprezentând valorile MM și NN din enunț. Pe următoarele MM linii se află câte N valori egale cu 00 sau 11, separate prin câte un spațiu (00 - dacă pătrățelul nu face parte dintr-o navă, 11 - în cazul în care pătrățelul este o parte a unei nave).

Date de ieșire

Dacă cerința este P=1P = 1, atunci pe prima linie a fișierului boats.out va fi scris un număr natural reprezentând numărul de nave formate dintr-un singur pătrățel.

Dacă cerința este P=2P = 2, aunci în fișierul boats.out vor fi scrise, pe câte o linie, separate prin câte un spațiu, trei valori: caracterul LL urmat de numerele dd și cc, în ordine crescătoare după valoarea dd, unde dd - reprezintă lungimea navei (numărul de pătrățele) iar cc - numărul de nave linie de lungime dd. Apoi, pe fiecare dintre liniile următoare vor fi scrise, separate prin câte un spațiu, caracterul CC urmat de două numere: dd și cc, în ordine crescătoare după dd, unde dd - reprezintă lungimea navei (numărul de pătrățele) și cc - numărul de nave coloană de lungime dd.

Restricții și precizări

  • 2M,N1 0002 \leq M, N \leq 1 \ 000
  • Se garantează existența a cel puțin unei nave.
  • Pentru rezolvarea corectă a primei cerinţe se va acorda 20%20\% din punctaj, iar pentru rezolvarea corectă a celei de a doua cerințe se va acorda 80%80\% din punctaj.

Exemplul 1

boats.in

1
12 12
0 0 0 0 0 0 0 0 0 0 0 1
0 1 1 1 1 1 0 0 0 0 0 1
0 0 0 0 0 0 0 1 0 0 0 1
0 1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 1 0 1 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 1 0 0 0 0 0 0 0 0 0

boats.out

1

Explicație

Se rezolvă doar cerința 11.
Există o singură navă formatată dintr-un singur pătrățel.

0 0 0 0 0 0 0 0 0 0 0 10 1 1 1 1 1 0 0 0 0 0 10 0 0 0 0 0 010 0 0 10 1 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 0 00 1 0 1 1 1 1 1 1 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 0 0 0 00 0 0 0 0 0 0 1 0 0 0 00 0 0 0 0 0 0 1 0 0 0 00 0 0 0 0 0 0 1 0 0 0 00 1 1 0 0 0 0 0 0 0 0 00 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1\\ 0 \ 1 \ 1 \ 1 \ 1 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \colorbox{yellow}{\color{black}1} 0 \ 0 \ 0 \ 1\\ 0 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0\\ 0 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0\\ 0 \ 1 \ 0 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0\\ 0 \ 1 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0\\

Exemplul 2

boats.in

2
12 12
0 0 0 0 0 0 0 0 0 0 0 1
0 1 1 1 1 1 0 0 0 0 0 1
0 0 0 0 0 0 0 1 0 0 0 1
0 1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0
0 1 0 1 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 1 1 0 0 0 0 0 0 0 0 0

boats.out

L 2 1
L 5 1
L 6 1
C 3 2
C 4 1

Explicație

Se rezolvă doar cerința 22.
Există 33 nave linie: o navă linie de lungime 22, o navă linie de lungime 55 și o navă linie de lungime 66.
Există 33 nave coloană: 22 nave coloană de lungime 33, o navă coloană de lungime 44.

0 0 0 0 0 0 0 0 0 0 0 101 1 1 1 10 0 0 0 0 10 0 0 0 0 0 0 1 0 0 0 10 1 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 0 00 1 01 1 1 1 1 10 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 0 0 0 00 0 0 0 0 0 0 1 0 0 0 00 0 0 0 0 0 0 1 0 0 0 00 0 0 0 0 0 0 1 0 0 0 001 10 0 0 0 0 0 0 0 00 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ \color{grey}1\color{white}\\ 0 \colorbox{yellow}{\color{black}1 1 1 1 1} 0 \ 0 \ 0 \ 0 \ 0 \ \color{grey}1\color{white}\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ \color{grey}1\color{white}\\ 0 \ \color{grey}1\color{white} \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0\\ 0 \ \color{grey}1\color{white} \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0\\ 0 \ \color{grey}1\color{white} \ 0 \colorbox{yellow}{\color{black}1 1 1 1 1 1} 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ \color{grey}1\color{white} \ 0 \ 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ \color{grey}1\color{white} \ 0 \ 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ \color{grey}1\color{white} \ 0 \ 0 \ 0 \ 0\\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ \color{grey}1\color{white} \ 0 \ 0 \ 0 \ 0\\ 0 \colorbox{yellow}{\color{black}1 1} 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0\\

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