TCGCACTGCATGAATTACGATACGGCACATAGACT
请大牛指点
TCGCACTGCATGAATTACGATACGGCACATAGACT
但是没过,程序有问题吗?
program rq61;
var
f:array[0..550,0..550] of longint;
s1,s2:ansistring;
i,j:longint;
begin
assign(input,’rq61.in’);
assign(output,’rq61.out’);
reset(input);
rewrite(output);
readln(s1);
readln(s2);
writeln(length(s1));
writeln(length(s2));
for i:=1 to length(s1) do
for j:=1 to length(s2) do
f[i,j]:=-maxlongint;
f[0,0]:=0;
for i:=1 to length(s2) do
f[0,i]:=f[0,i-1]-2;
for i:=1 to length(s1) do
f[i,0]:=f[i-1,0]-2;
for i:=1 to length(s1) do
for j:=1 to length(s2) do
begin
if s1[i]=s2[j] then
if f[i,j]<f[i-1,j-1]+1 then f[i,j]:=f[i-1,j-1]+1;
if s1[i]<>s2[j] then
if f[i,j]<f[i-1,j-1] then f[i,j]:=f[i-1,j-1];
if f[i,j]<f[i,j-1]-2 then f[i,j]:=f[i,j-1]-2;
if f[i,j]<f[i-1,j]-2 then f[i,j]:=f[i-1,j]-2;
end;
writeln(f[length(s1),length(s2)]);
close(input);
close(output);
end.
比对如下:8
-T -2
CC +1
GG +1
GC +0
TA +0
AC +0
GT +0
AG +0
TC +0
AA +1
TT +1
GG +1
CA +0
AA +1
AT +0
TT +1
AA +1
TC +0
GG +1
CA +0
GT +0
TA +0
CC +1
GG +1
GG +1
T- -2
TC +0
AA +1
GC +0
AA +1
C- -2
TT +1
G- -2
AA +1
GG +1
CA +0
CC +1
A- -2
AT +0
8