Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2017-04-26 15:09:33.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:arhipelag2.in, arhipelag2.outSursăONI 2017, clasa a 9-a
AutorMihai EnacheAdăugată deBLz0rDospra Cristian BLz0r
Timp execuţie pe test0.2 secLimită de memorie36864 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Arhipelag2

În regiunea Ionia a lumii grece?ti antice, regiune ce corespunde teritoriului actual al M?rii Egee, exist? mai multe insule. Harta m?rii este reprezentat? de o matrice de dimenisuni N x M, având valori de 1 ?i 0, iar fiecare element din matrice reprezint? o zon? de dimensiune 1 × 1 din mare. Liniile matricei sunt numerotate de la 1 la N, de sus în jos, iar coloanele de la 1 la M, de la stânga la dreapta. Astfel, col?ul din stânga sus al matricei este asociat zonei (1, 1), iar col?ul din dreapta jos corespunde zonei (N, M). Un element care con?ine valoarea 0 reprezint? faptul c? în acea zon? se afl? ap?. O insul? este determinat? de un dreptunghi format în totalitate din valori de 1. Se garanteaz? faptul c? toate zonele care con?in valoarea 1 formeaz? dreptunghiuri valide ?i c? oricare dou? insule sunt separate de ap?.
De exemplu, Figura 1 de mai jos reprezint? o hart? valid?, în timp ce Figura 2 ?i Figura 3 NU reprezint? o hart? valid?.

Cerin??

Ionienii, fiind oameni practici, doresc construirea unui far-bibliotec? (a?ezat pe o platform? 1 × 1), într-o zon? acoperit? de ap?. Pozi?ia platformei va fi aleas? într-o celul? C astfel încât suma distan?elor dintre toate insulele ?i C s? fie minim?. Distan?a dintre o celul? C ?i o insul? este definit? ca fiind minimul dintre distan?ele Manhattan dintre C ?i fiecare celul? care apar?ine insulei (distan?a poate trece atât prin alte insule, cât ?i prin zone acoperite de ap?).
Distan?a Manhattan dintre dou? celule aflate pe linia x1 ?i coloana y1, respectiv pe linia x2 ?i coloana y2, este definit? ca |x1 – x2| + |y1 – y2|, unde |x| reprezint? valoarea absolut? a lui x.

Date de intrare

Fi?ierul de intrare arhipelag2.in con?ine, pe prima linie, valorile N ?i M, având semnifica?ia din enun?. Urm?toarele N linii con?in câte M valori binare, separate de câte un spa?iu, reprezentând harta m?rii.

Date de ie?ire

Fi?ierul de ie?ire arhipelag2.out va con?ine o pereche de numere naturale, reprezentând linia si coloana celulei alese de ionieni pentru construc?ie. Dac? exist? mai multe solu?ii posibile, se va alege cea care are linia minim?. Dac? în continuare exist? mai multe solu?ii, se va alege cea care are coloana minim?.

Restric?ii

  • Pentru teste în valoare de 15 puncte, 1 <= N, M <= 50
  • Pentru alte teste în valoare de 20 de puncte, 1 <= N, M <= 300, iar num?rul de insule din arhipelag nu dep??e?te 300
  • Pentru alte teste în valoare de 20 de puncte, 1 <= N, M <= 300
  • Pentru restul de teste, 1 <= N, M <= 1000
  • Se garanteaz? c? exist? cel pu?in o zon? acoperit? de ap?

Exemplu

arhipelag2.inarhipelag2.outExplica?ie
7 7
0 1 0 1 0 1 1
0 1 0 1 0 1 1
0 0 0 1 0 0 0
0 0 0 1 0 0 0
0 0 0 1 0 0 0
1 1 0 1 0 1 1
1 1 0 1 0 1 1
2 3
Notând cu D(x1, y1, x2, y2) insula determinat? de
dreptunghiul având col?ul stânga sus în (x1, y1) ?i col?ul
dreapta jos în (x2, y2), arhipelagul con?ine urm?toarele insule:
D1, D2, D3, D4 ?i
D5. Notând cu dist(D) distan?a dintre celula (2, 3) ?i
insula D, distan?ele sunt urm?toarele:
dist(D1) = min(|2 – 1| + |3 – 2|, |2 – 2| + |3 - 2|) = 1,
dist(D2) = 1, dist(D3) = 3, dist(D4) = 5 ?i dist(D5) = 7.
4 4
0 0 1 1
0 0 1 1
0 0 1 1
0 0 0 0
1 2
Pentru fiecare dintre celulele (1, 2), (2, 2), (3, 2), (4, 3)
si (4, 4), distan?a dintre celul? ?i singura insul? existent? în
acest exemplu este aceea?i. Se va alege cea care are linia
minim?, iar în caz de egalitate se va alege cea care are coloana
minim?. Astfel, celula (1, 2) reprezint? solu?ia.
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?