ConcursC++17

sotron

Pe asfalt este desenat cu cretă un şotron, caroiaj format din n×nn \times n căsuţe având aceleaşi dimensiuni (câte nn căsuţe pe fiecare din cele n rânduri).

În fiecare căsuţă este scris câte un număr întreg din intervalul [−100,100][-100, 100].

Fiecare jucător are câte o piatră pe care o aruncă într-o căsuţă a şotronului, şi sărind într-un picior, împinge piatra din căsuţă în căsuţă, pe un anumit traseu astfel încât punctajul obţinut din suma numerelor de pe traseul parcurs să fie cât mai mare.

Numerele din căsuţele şotronului sunt scrise cu două culori albastru şi alb, astfel încât să nu existe două căsuţe alăturate (pe cele patru direcţii Nord, Est, Sud, Vest) având numere scrise cu aceeaşi culoare. Întotdeauna, prima căsuţă din primul rând al şotronului are înscris un număr de culoare albastră.
Se stabilesc apoi, următoarele reguli ale jocului:

Figura 1 din enunțul original al problemei sotron.Figura 1 din enunțul original al problemei sotron.Mărește schema ↗

  • la începutul jocului, piatra poate fi aruncată în oricare căsuţă a şotronului. Din poziţia respectivă jucătorul îşi conduce piatra până la sfârşitul traseului stabilit de el
  • dintr-o căsuţă în care numărul este scris cu albastru, piatra poate fi deplasată doar în căsuţa vecină pe direcţia Nord
  • dintr-o căsuţă în care numărul este scris cu alb, piatra poate fi deplasată doar în căsuţa vecină pe direcţia Est
  • jucătorul poate alege orice căsuţă (inclusiv cea în care a aruncat piatra) pentru a încheia jocul, atâta timp cât piatra nu iese din şotron

Cerință

Să se scrie un program care să determine cel mai mare punctaj care se poate obţine jucând şotron după regulile stabilite.

Date de intrare

Fişierul de intrare sotron.in are pe prima linie dimensiunea nn a şotronului, iar pe următoarele nn linii câte nn numere separate de câte un spaţiu, reprezentând numerele scrise în şotron.

Date de ieșire

Fişierul de ieşire sotron.out va conţine pe prima linie un singur număr reprezentând punctajul maxim care se poate obţine jucând şotron.

Restricții și precizări

  • 1≤n≤2401 \leq n \leq 240

Exemplu

sotron.in

5
0 -6 -5 -17 2
1 -4 7 10 5
-3 -2 3 -8 -8
-20 3 5 3 -5
-10 -15 2 2 -4

sotron.out

21

Explicație

Punctajul obţinut este 3+(−2)+3+7+10=213 + (-2) + 3 + 7 + 10 = 21

Sursă și autori

ONI 2007, clasele 9. Cristina Iordaiche.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑