记录编号 5744 评测结果 AAAAAAAAAA
题目名称 [LOL2000] 回文词 最终得分 100
用户昵称 Gravatarbing 是否通过 通过
代码语言 Pascal 运行时间 2.164 s
提交时间 2008-10-28 13:36:47 内存使用 95.48 MiB
显示代码纯文本
program bing;
var
 f1,f2:text;
 n,min,i:longint;
 s:array[0..5000] of char;
 f:array[1..5000,1..5000] of longint;
procedure init;
var
 i,j:longint;
begin
 assign(f1,'palin.in');reset(F1);
 assign(f2,'palin.out');rewrite(F2);
 readln(f1,n);
 for i:=1 to n do read(f1,s[i]);
 for i:=1 to n do f[1,i]:=0;
 for i:=1 to n-1 do
 if s[i]=s[i+1] then f[2,i]:=0 else f[2,i]:=1;
end;

procedure nb;
var
 i,j,t:longint;
begin
 for i:=3 to n do
 for j:=1 to n-i+1 do
 begin
 if s[j]=s[j+i-1] then f[i,j]:=f[i-2,j+1]
 else begin
 if f[i-1,j]>f[i-1,j+1] then t:=f[i-1,j+1] else t:=f[i-1,j];
 f[i,j]:=t+1;
 end;
 end;
end;
begin
 init;
 nb;
 write(f2,f[n,1]);
 close(F1);close(f2);
end.