比赛 |
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.