.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » orientare

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
orientare


Timp maxim de execuţie / test:
2s
Memorie totala disponibilă / stivă:
16MB / 1MB

La un concurs de orientare turistică organizatorii au pregătit pentru participanţi un traseu, în care cele n*m puncte de control sunt plasate geografic în celulele unei matrice cu n linii şi m coloane. Participanţii nu sunt obligaţi să viziteze toate punctele de control, dar odată aflaţi într-un punct de control, trebuie să aleagă una dintre direcţiile oferite de acel punct.
Conform regulamentului, orice participant poate să intre pe teren din direcţia Nord (sus) şi trebuie să termine traseul ieşind pe partea sudică a traseului.
În fiecare punct de control participantul va primi puncte pozitive (recompensă) sau puncte negative (penalizare) şi trebuie să aleagă ca destinaţie un alt punct de control aflat într-una dintre direcţiile Est (dreapta), Vest (stânga) sau Sud (jos), însă el nu poate anticipa ce fel de puncte „îl vor aştepta” în următorul punct de control. Participantul niciodată nu are voie să se întoarcă într-un punct de control unde a mai fost odată.
Punctele câştigate sau pierdute se acumulează până ce participantul părăseşte traseul spre Sud.
Conform regulamentului jocului, participantul poate porni din orice punct de control din Nord şi poate ieşi din orice punct de control din Sud.

Cerinţă

Cunoscând harta traseului, să se calculeze punctajul maxim ce se poate obţine printr-o parcurgere optimă a traseului, precum şi numărul traseelor distincte pe care se pot obţine aceste punctaje maxime modulo 666013. Două trasee se consideră distincte, dacă diferă prin cel puţin un punct de control.

Date de intrare

Fişierul orientare.in conţine pe prima linie numerele naturale n şi m separate prin spaţiu, reprezentând numărul de linii şi respectiv numărul de coloane ale matricei. Următoarele n linii conţin câte m numere întregi separate prin spaţii, reprezentând punctajele corespunzătoare fiecărui punct de control.

Date de ieşire

Fişierul orientare.out va conţine două linii. Pe prima linie se va scrie suma maximă ce se poate câştiga pe traseu, iar pe linia a doua se va tipări numărul soluţiilor distincte de valoare maximă modulo 666013.

Restricţii

• Participantul se poate deplasa pe direcţiile Est şi Vest chiar şi pe prima şi ultima linie a matricei.
0 < n, m < 450
• Fiecare element al matricei se încadrează în intervalul [-255,255].
• Pentru 60% din teste 0 < n, m < 400.
• Afişarea corectă a sumei maxime valorează 60% din valoarea unui test, răspunsul corect la ambele cerinţe valorează 100% din valoarea testului.

Exemple

orientare.inorientare.outExplicaţii
3 3 5 -3 5 -1 6 -1 -3 4 -2 16 2 Suma maximă 16 se poate obţine în 2 moduri distincte.



autor: Prof. Zoltan Szabo
propunător: Prof. Emanuela Cerchez
Liceul de Informatică ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la Finala .campion 2010: expo, mine, popic, arctir, guess, activ, secvbiti
De acelaşi autor: balanta, bonuri, cub, magic, magic2, munte, euclid, banda, biliard, fractie1, fotbal, arctir, rege, fibo1, piatra, war, aritm, ssmax, sirmax, ikebana, punctfix, domino2, lant1, parc1, cubulete, biperm, triunghi6, stiva1
Despre programare dinamică: vedete, fbr, tgv, zeratul, rv, comun, retea, circuit, sumdif, copaci, drum, text, palind, joc, vikingi, rafturi, balaur, plimbare, party, pc, pioni, seif, iepuri, numere3, perm, ture, bilete, prop, ro, reduceri, cuburi, invest, cutie2, stalpi, nr2, judete, strict, auto2, tree, jobs, leaves, pstring, program, datorii, senzori, farfurii, joc1, barbie, ambigram, rlcs, cub1, bio, chimie1, otilia, pasune, remi, sir23, tren1, joc5, pachete, echipe, comb, agitatie, ivv, peste, pitici, pipe, shgraf, tabara1, stop, randuri, zidar, log, sant, produs, subsir, cover, bcast, emax, dist, mesaj1, imax, avere, asmax, raft, suma2, joc12, fni, nr4, join, transport, masina3, lsort, microvirus, fat, cafea, echipe1, anticip, bsir, diamant, petrom, evantai, spion, acolor, evo, bombo, lacusta, lant, team, pitici1, numere8, dep, stiva, subgeom, pviz, tir1, cabane, piramida1, mosia, cuvinte1, gaina, materom, sortari, turnuri, trans, politie, codul, dansatori, nkbiti, kperms, treegame, siruri2, 123, jucarii, bradut, joc15, expozitie, text3, ic, echilibru, distsir, kmax, stalpi1, gaz, triunghi2, v2d, cuiburi, mine, activ, secvbiti, kcons, pokemon, ubergraf, left, acerc, autostrazi, kdist, select, cazare, fluviu, telecomanda, parcela, pion, subs, suma4, sirmax, bdotcom, viena, sablon2, telecab, ikebana, radare, hacker, obstacole, robotel, centrala, verigi, cds, wg, minusk, radioactiv, enigma, jb, efect, maxviz, ripstick, progresii, maxtri, combcuv, blis, subsiruri, mijloc, probleme, unuzero, palindrom1, minerale, speed, zmax, spider, cntgcd, interclasare, bus, pariuri, riglef, fractii2, fall, arbsum, conuri, arbvalmax, procente, metrou
surse trimise | ajutor