Sunteți pe pagina 1din 1

Este o problemă tipică de prelucrare a şirurilor de caractere.

La prima etapă se adaugă „santinele” (opţional, pentru a simplifica procesul de verificare a cazurilor
extreme)
s:='*'+s+'*';
Se verifică prima condiţie - când explozia nu produce modificări ale şirului
if (s[i-1]<>s[i]) or (s[i+1]<>s[i]) then
begin
delete(s,1,1); delete(s,length(s),1);
end;
Se verifică cazul producerii exploziei şi a numărului de elemente distruse
c:=s[i];
j:=i-1; while( s[j]= c) and (j>0) do j:=j-1; ps:=j;
j:=i+1; while( s[j]= c) and (j<length(s)) do j:=j+1; pd:=j;
count:=pd-ps;

Se verifică condiţiile de repetare ale exploziilor.

S-ar putea să vă placă și