比赛 noip_6 评测结果 ATTTAAAAAA
题目名称 回文词 最终得分 70
用户昵称 francis 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-10-08 20:13:38
显示代码纯文本
program palin;
const
fin='palin.in';
fou='palin.out';
var
f:array[1..5000,1..5000]of longint;
c:array[1..5000]of char;
n,i,j:longint;
f1,f2:text;

procedure init;
begin
assign(f1,fin);
assign(f2,fou);
reset(f1); rewrite(f2);
readln(f1,n);
for i:=1 to n do
read(f1,c[i]);
for i:=1 to n do
f[i,1]:=0;
for i:=1 to n-1 do
if c[i]=c[i+1] then f[i,2]:=0 else f[i,2]:=1;
end;

begin
init;
for j:=3 to n do
for i:=1 to (n-j+1) do
 begin
  if c[i]=c[i+j-1] then f[i,j]:=f[i+1,j-2]
   else
     begin
      f[i,j]:=f[i,j-1]+1;
      if f[i,j]>f[i+1,j-1]+1 then f[i,j]:=f[i+1,j-1]+1;
     end;
 end;
write(f2,f[1,n]);
close(f1); close(f2);
end.