Fişierul intrare/ieşire:bemo.in, bemo.outSursăad-hoc
AutorMarius StroeAdăugată deCatalin.FrancuCatalin Francu Catalin.Francu
Timp execuţie pe test0.7 secLimită de memorie12288 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Bemo (clasele 11-12)

Notă: aceasta este o clonă a problemei Bemo de la ONI 2013 (Infoarena, Campion) cu limite mai stricte.

Notă: veţi avea (probabil) nevoie să parsaţi intrarea, căci ultimele trei teste au fişiere de intrare de 16 - 17 MB.

Se dă o matrice cu R linii şi C coloane de numere distincte de la 1 la R×C . Bemo, personajul emoţional, doreşte să urmărească cel mai bun drum din colţul superior stânga, de coordonate (1, 1), în colţul inferior dreapta, de coordonate (R, C).

Un drum este o secvenţă de numere din matrice în care fiecare număr se găseşte în jos sau la dreapta numărului anterior, i.e. dacă (i, j) este poziţia unui număr de pe un drum, atunci următorul număr poate fi cel de pe poziţia (i+1, j) sau cel de pe poziţia (i, j+1). Pentru a determina dacă un drum A este mai bun decât un drum B, numerele fiecărui drum se vor sorta şi se va alege cel mai mic lexicografic, e.g. [1,3,5,6,8] < [1,4,5,6,7].

Date de intrare

Fişierul de intrare bemo.in conţine pe prima linie două numere naturale R şi C, unde R este numărul liniilor, iar C numărul coloanelor matricei lui Bemo. Pe următoarele R linii se vor găsi câte C numere separate printr-un spaţiu. Fiecare număr va fi unic şi va fi cuprins în intervalul [1, R×C].

Date de ieşire

Fişierul de ieşire bemo.out va conţine R+C-1 numere reprezentând cel mai bun drum pe care Bemo îl poate alege. Numerele vor fi scrise separate printr-un spaţiu.

Restricţii

  • 0 < R, C < 1.501;
  • Pentru 40% din teste: 0 < R, C < 751;
  • Pentru 70% din teste: 0 < R, C < 1.301;
  • Spunem că un drum A = (a1, a2, ..., aR+C-1) este mai mic lexicografic decât un drum B = (b1, b2, ..., bR+C-1) dacă există o poziţie p astfel încât xp < yp şi x1 = y1, x2 = y2, ..., xp-1 = yp-1.

Exemplu

bemo.inbemo.outExplicaţie
4 4
7 4 13 3
8 11 12 2
10 9 1 5
16 14 15 6
7 4 11 9 1 5 6
Cel mai bun drum este secvenţa 7, 4, 11, 9, 1, 5, 6.
Trebuie sa te autentifici pentru a trimite solutii. Click aici