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

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


Timp maxim de executie/test:
0.1 secunde
Memorie totala disponibila/stiva:
16 MB/1 MB

Un robot punctiform se deplaseaza pe o placa dreptunghiulara care are coltul stânga-jos în originea sistemului de coordonate, iar coltul dreapta-sus în punctul de coordonate (A, B).
Robotul se afla initial în originea sistemului de coordonate si la un pas se poate misca în una dintre cele 4 directii: Nord (din pozitia (x, y) robotul ajunge în pozitia (x, y+1)), Sud (din pozitia (x, y) robotul ajunge în pozitia (x, y-1), Est (din pozitia (x,y) robotul ajunge în pozitia (x+1, y)) sau Vest (din pozitia (x, y) robotul ajunge în pozitia (x-1, y)).
De la panoul de control al robotului se introduce o succesiune de N pasi pe care robotul trebuie sa îi execute pentru a ajunge în coltul dreapta-sus al placii (punctul de coordonate (A, B)).
Din pacate, secventa de pasi introdusa este gresita si singura corectie care se poate aplica, este ignorarea unei subsecvente de pasi din secventa data.

Cerinta
Scrieti un program care sa determine o subsecventa de pasi ce trebuie sa fie ignorati astfel încât:
– robotul sa nu paraseasca placa;
– distanta dintre pozitia finala a robotului si coltul dreapta-sus al placii sa fie minima.

Date de intrare
Fisierul de intrare pasi.in contine pe prima linie numerele naturale A B, separate printr-un spatiu, reprezentând coordonatele coltului dreapta-sus al placii. Pe cea de a doua linie se afla o secventa de caractere din multimea {'N', 'S', 'E', 'V'}; caracterul i reprezinta directia de miscare a robotului la pasul i (N - Nord, S - Sud, E - Est si V - Vest).

Date de iesire
Fisierul de iesire pasi.out va contine o singura linie pe care va fi scrisa distanta dintre pozitia finala a robotului si punctul (A, B) (minima posibil), distanta obtinuta prin ignorarea unei subsecvente de pasi.

Restrictii
1 <= A, B <= 4000
0 < Numarul de pasi <= 5000
Distanta dintre doua puncte de coordonate (a, b), respectiv (c, d) se calculeaza astfel abs(a-c)+abs(b-d).

Exemple
pasi.in pasi.out pasi.in pasi.out

2 3
ENEEE

2
3 3
NNNNEEEESSV
3

prof. Emanuela Cerchez
Liceul de Informatica "Grigore Moisil" Iasi
Contact:emanuela.cerchez@gmail.com

propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la .campion 2007: perechi, teanc, index, light, copaci, teren, pizza, grupe, cod, ecran, drum, soldati, factura, palma, decript, lbd, aven, cs, h, trenuri, sort, spam, complex, parent, holo, tren2, gray, siruri, arce, cifre, mgo, firma, joc, cartonase, vikingi, anagrame, balbe, vecini, balaur, tribile, conflicte, criptmat, mesaj, maxim, magic3, desen, plimbare, cutie, patrate, party, vagoane, robot, astre, trains, numere2, friends, tricouri, furtuna, net, baby, scaune, 3d, axa, bile2, vmem, pahare, termen, sablon, zapada, cuvinte, excursie, hd, pajura, pc, sir, cadere, pioni
De acelaşi autor: celule, scp, vedete, film, ab, supertri, inginer, camp, sl, detinut, simetric, egal, gropi, ruleta, carti, tgv, uscat, afise, dezbateri, bunici, rv, onu, nspecial, secvop, cadou, chimie, reteta, piticot, petrol, checkin, teanc, index, teren, pizza, ecran, drum, text, lbd, aven, spam, pluricex, tren2, gray, mgo, joc, anagrame, vecini, criptmat, maxim, cutie, party, friends, net, sablon, hd, pc, sir2, aztec, scara, nr, robot2, sah, formule, ed, bilete, hanoig, flood, matrice3, erdos, grup, cd, kfactor, np, cuc, radio, honest, ref, nr01, scor2, convert, auto2, compress, politics, pm, playlist, barbie, firma1, submatrix, ham, pizza1, exam, ants, teatru1, cifre1, bile1, caini, secvreg, pasune, remi, m01, sir23, tren1, joc5, pachete, aedaro, windows, renju, latime, mere1, piloti, peste, pitici, sirag1, stive, turn1, carti1, program1, spioni, kgb, lift, apel, lex, oras, homeless, subsir, dist, harta1, adevar, joc10, bare, zapezi, masina2, perechi1, raft, joc11, joc12, ferma, fni, tunel, lover, pepsi, transport, avion, monkey, premii1, garaj, carti2, tv, pact, fat, cafea, echipe1, secvente, petrom, peg, scara1, lant, ecuatii, stiva, bile4, jungla, rj, poli, text1, compus1, rez, politie, anag, codul, coment, muzeu, seti, basm, timer, secvsir, dp, placa, prod3, bursa, submdisj, sotron1, fazan, secvpar, joker, lego, medalii, cfr, antipatie, figura, links, segm, colorare, brazi, mobil, distsir, guess, greiere, pestera, conferinta, chei, ny, nx, ghinion, sumb, drenaj, telecomanda, grupuri, mahjong, rotund, viena, sport2, cos, monoton, micro, valet, nr0, maxviz, anagramabil, nrpal, lista, dame, consiliu, adprod, arme, deal, prodnr, compar, latin, interviu, vintage, prize, nrdiv, arrows, tdrept, agenda, reziston, vot2, tema, smiley, relatii, ech, scadere, nebuni, castig, expand, wb, prime2, virgule, b210
Despre secvenţe: degrade, hora, simetric, egal, ruleta, ecran, sirag, firma, br, numere2, termen, div, teatru, repeat, ratb, 2sec, sport, pikachu, suma3, panouri, sir5, mare, hof, resturi, efort, xor1, livada1, diff, popic, guess, albine1, permutare, miere, atelier, obstacole, echilibru1, lcdr, 3max, ksecv, maxbin, meteo1, galbeni, maxp, secvp, split, secvente2, ausoara, sminus, munte3, cool, betisoare, unudoi, charlie, lasere, arc, dominant, restaurare, roua
Software recomandat
surse trimise | ajutor