NKEDIT - Hiệu chỉnh văn bản
Tác giả: skyvn97
Ngôn ngữ: Pascal
program NKEDIT;
uses crt;
var
s,p:string;
c,k:integer;
f:array [1..50,1..50] of integer;
procedure init;
begin
readln(k);
readln(s);
readln(p);
c:=0;
end;
procedure process;
var
i,j,max,wi,wj:integer;
begin
repeat
max:=-1;
for i:=1 to length(s) do
if s[i]=p[1] then f[i][1]:=1 else f[i][1]:=0;
for i:=1 to length(p) do
if s[1]=p[i] then f[1][i]:=1 else f[1][i]:=0;
for i:=2 to length (s) do
for j:=2 to length(p) do
if s[i]=p[j] then f[i][j]:=f[i-1][j-1]+1 else f[i][j]:=0;
for i:=1 to length(s) do
for j:=1 to length(p) do
if f[i][j]>max then
begin
max:=f[i][j];
wi:=i-max+1;
wj:=j-max+1;
end;
if max>=k then
begin
delete(s,wi,max);
delete(p,wj,max);
inc(c);
end;
until max<k;
end;
procedure print;
begin
writeln(c);
writeln(s);
writeln(p);
end;
begin
init;
process;
print;
readln;
end.