Xâu A được gọi là tiền tố của xâu B nếu length(A) <= length(B) và sau khi xóa đi kí tự cuối cùng của B thì thu được A. Yêu cầu: Cho n xâu. Tìm xâu dài nhất sao cho nó là tiền tố của ít nhất 2 trong số n xâu đã cho. Nếu cùng độ dài thì xuất ra theo từ điển --- LPREFIX.INP 7 CHEDDAR CHESSO CHAOURCE PARMESAN CHAUMES ROQUEFORT POSSIA --- LPREFIX.OUT CHA
1 câu trả lời
uses crt;
Var a,u:array[1..1000]of string; b:array[1..1000]of longint; s,m:string; i,j,z,y,n,x,k:longint; d:text;
begin
clrscr;
assign(d,'input.pas');reset(d);
readln(d,n);
for i:=1 to n do readln(d,a[i]);
for i:=1 to n do
begin
s:='';
for j:=1 to length(a[i]) do
begin
s:=s+a[i][j];
x:=0;
for z:=1 to k do If (s=u[z])or(length(s)=b[z]) then x:=1;
If x=0 then
begin
inc(k);
u[k]:=s;
for z:=1 to n do
begin
m:='';
for y:=1 to length(s) do m:=m+a[z][y];
If m=s then inc(b[k]);
end;
end;
end;
end;
i:=k;
while(b[i]=1)do dec(i);
writeln(u[i]);
close(d);
readln
end.
Tuy hơi dài nhưng đúng , nhớ vote cho mình nha