insule

Time limit: 0.1s Memory limit: 64MB Input: insule.in Output: insule.out

Arhipelagul RGB este format din insule care aparţin ţărilor RR, GG şi BB. Putem reprezenta harta arhipelagului ca o matrice cu nn linii şi mm coloane cu elemente din mulţimea {0,1,2,3}\{0, 1, 2, 3\}. Un element egal cu 00 reprezintă o zonă acoperită de apă; un element egal cu 11 reprezintă o zonă de pământ aparţinând unei insule din ţara RR, iar un element egal cu 22 reprezintă o zonă de pământ aparţinând unei insule din ţara GG, iar un element egal cu 33 reprezintă o zonă de pământ aparţinând unei insule din ţara BB.

Se consideră că două elemente ale matricei sunt vecine dacă ele au aceeaşi valoare şi fie sunt consecutive pe linie, fie sunt consecutive pe coloană. Două elemente aparţin aceleiaşi insule dacă ele sunt vecine sau dacă se poate ajunge de la un element la celălalt pe un drum de-a lungul căruia oricare două elemente consecutive sunt vecine.

Pentru a încuraja relaţiile de colaborare dintre ţările RR şi GG, se doreşte construirea unui pod care să unească o insulă aparţinând ţării R de o insulă aparţinând ţării G. Podul trebuie să respecte următoarele condiţii:

  • Să înceapă pe o zonă cu apă consecutivă pe linie sau coloană cu o zonă aparţinând ţării RR;
  • Să se termine pe o zonă cu apă consecutivă pe linie sau coloană cu o zonă aparţinând ţării GG;
  • Să traverseze numai zone acoperite cu apă;
  • Oricare două elemente consecutive ale podului trebuie să fie vecine;
  • Lungimea podului să fie minimă (lungimea podului este egală cu numărul de elemente traversate de pod).

Cerinţă

Dată fiind harta arhipelagului să se determine câte insule aparţin fiecărei ţări, precum şi lungimea minimă a unui pod care să satisfacă condiţiile din enunț.

Date de intrare

Fişierul de intrare insule.in conţine pe prima linie numerele naturale nn şi mm, separate prin spaţiu. Pe următoarele nn linii este descrisă harta arhipelagului. Pe fiecare dintre aceste nn linii sunt scrise câte m valori din mulţimea {0,1,2,3}\{0, 1, 2, 3\}; valorile nu sunt separate prin spaţii.

Date de ieşire

Fişierul de ieşire insule.out va conţine o singură linie pe care vor fi scrise patru numere naturale separate prin spaţii NR NG NB Lg, unde NR reprezintă numărul de insule aparţinând ţării RR, NG numărul de insule aparţinând ţării GG, NB numărul de insule aparţinând ţării BB, iar Lg lungimea minimă a podului.

Restricţii şi precizări

  • 1<n,m1001 \lt n, m \leq 100;
  • Se garantează că pe hartă există cel puţin un element 11, un element 22 şi un element 00;
  • Se acordă 40% din punctaj pentru determinarea corectă a numărului de insule din fiecare ţară; se acordă punctaj integral pentru rezolvarea corectă a tuturor cerinţelor;
  • Începutul şi sfârşitul podului pot să coincidă;
  • Pentru datele de test există întotdeauna soluţie.

Exemplu

insule.in

6 7
1000320
0110313
3333000
2033000
2203011
2000010

insule.out

4 2 3 4

Explicație

Ţara RR are 44 insule, ţara GG are 22 insule, iar ţara BB are 33 insule.

Lungimea minimă a unui pod care poate fi construit este 44; de exemplu, podul traversează celulele (6,5)(6,5), (6,4)(6,4), (6,3)(6,3), (6,2)(6,2).

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