Pagini recente » Expozitie2 | Cod sursa (job #1278907) | Borderou de evaluare (job #684796) | Borderou de evaluare (job #24029) | Diferente pentru grigore-moisil-2009/solutii/palindrom2 intre reviziile 1 si 2
Nu exista diferente intre titluri.
Diferente intre continut:
Spre exemplu, dacă şirul iniţial este $abcdzyxyz$, palindromul căutat este $zyxyz$, iar rezultatul va fi $abcdzyxyzdcba$, adică vom adăuga caracterele aflate în faţa palindromului cu care se termină şirul iniţial, dar în ordine inversă. De aici, problema se rezumă la a determina această lungime maximă a unui palindrom care se termină pe ultima poziţie a şirului. Se fixează un indice $k$ succesiv pe poziţiile $1, 2, ..., n$ şi se verifică dacă şirul $S[k..n]$ este un palindrom:
== code(cpp) |
Algoritm Pali(k,n,S,ok):
Algoritm Pali(k, n, S, ok):
i = k
j = n
ok = adevărat
cât timp i < j şi ok execută
dacă S[i] S[j] atunci
dacă S[i] != S[j] atunci
ok = fals
sfârşit dacă
i = i + 1
j = j - 1
sfârşit cât timp
Sfârşit algoritm
Sfârşit algoritm.
==
Dacă $ok$ este adevărat, atunci $S[k..n]$ este palindrom. Algoritmul se opreşte la primul palindrom determinat, acesta fiind de lungimea cea mai mare.
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.