Fișierul intrare/ieșire bemo.in, bemo.out Sursă ad-hoc
Autor Marius Stroe Adăugată de avatar Catalin.Francu Cătălin Frâncu Catalin.Francu
Timp de execuție pe test 0.15 sec Limită de memorie 12288 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip halfstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

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.in bemo.out Explicaț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 să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii