高手求救。问个简单的问题!

procedure work;

var

i,j,k,n:integer;

a:array[1..2000]of string;

s:string;

ans:array[1..2000]of integer;

max:integer;

begin

readln(n);

for i:=1 to n do begin readln(a[i]);ans[i]:=1;end;

for i:=1 to n do

for j:=i+1 to n do

begin

s:=copy(a[j],1,length(a[i]));

if (s=a[i])and(ans[i]+1>ans[j])then ans[j]:=ans[i]+1;

end;

max:=0;

for i:=1 to n do

if ans[i]>max then max:=ans[i];

writeln(max);

end;

begin

work;

end.

2 条评论

  • @ 2009-07-29 20:08:25

    用longint试下。

    编程做题目最好不用integer否则很容易出问题。

    栈溢出一般是递归嵌套过多而没有终止条件。

  • @ 2009-07-29 20:05:31

    为什么会堆栈溢出呢?样例过得去啊。

  • 1

信息

ID
1028
难度
4
分类
动态规划 | LIS 点击显示
标签
(无)
递交数
5999
已通过
2433
通过率
41%
被复制
9
上传者