Documente Academic
Documente Profesional
Documente Cultură
Cerin
Scriei un program care s afieze valoarea puterii rmase ( x dup ieirea din castel) sau -1 dac
nu iese, conform situaiei descrise mai sus.
Date de intrare
Fiierul de intrare vraja.in conine dou linii. Pe prima linie sunt scrise numrul natural
nenul n reprezentnd numrul de camere din castel i numrul natural nenul x, reprezentnd
puterea iniial a prinesei. Pe a doua linie sunt scrise cele n numere naturale c0, c1, c2, c3,,cn-1,
separate prin cte un spaiu, reprezentnd numrul de ordine al camerei n care poate ajunge
prinesa.
Date de ieire
Fiierul de ieire vraja.out va conine o singur linie pe care se va scrie x dac prinesa
poate iei din castel, respectiv -1 dac ea rmne blocat n castel deoarece nu mai are putere s
ias sau deoarece ajunge ntr-o camer prin care a trecut deja.
Restricii i precizri
n, x, ci sunt numere naturale nenule
2 n 3000
Strategia general ntr-un algoritm Markov este de a transforma irul de caractere de intrare
x n irul de caractere de ieire y prin aplicarea repetitiv a unui numr de pai.
Paii sunt de forma u v, unde u i v sunt iruri de caractere. Un astfel de pas este
aplicabil irului de intrare x daca exist cel puin o apariie a irului u n x, altfel pasul nu este
aplicabil. Dac pasul este aplicabil, se nlocuiete prima apariie a lui u cu v n irul x i se reiau
paii ncepnd cu primul.
Un algoritm Markov se termin atunci cnd nu mai exist pai aplicabili.
Date de intrare
Fiierul de intrare markov.in conine:
- pe prima linie irul de intrare x;
- pe a doua linie numrul de pai n;
- pe urmtoarele n linii perechi de iruri (u, v) separate prin cte un spaiu.
Date de ieire
Fiierul de ieire markov.out va conine pe prima linie irul x, transformat conform algoritmului
descris..
Restricii i precizri
1 n 100;
x, u, v sunt iruri de maxim 1000 de caractere din alfabetul englez;
Datele de intrare sunt corecte :
1. nu exist pas u v n care u s fie inclus n v ;
2. lungimea irului v este mai mic sau egal cu lungimea irului u;
3. nu exist perechi de pai circulari, de forma ab ef i ef ab.
Exemplu
Descrierea solutiei
Problema vraja
Se citesc valorile date, conform enunului, numrul de camere, puterea i valorile din vectorul c.
Se parcurge vectorul, cu while (condiie pe pozite i switch) pentru a putea sri dintr-o camer n
alta:
- pentru a verifica dac mai poate intra n camera respectiv sau nu,
Se testeaz switchul i puterea rmas (x>=n-i, unde i este pozitia curent a prinesei) i dac e