sotron

Time limit: 0.05s Memory limit: 16MB Input: sotron.in Output: sotron.out

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:

  • 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

  • 1n2401 \leq n \leq 240

Exemplu

coduri.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

coduri.out

21

Explicație

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

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