sωēeτ¨fαrm » 日志 » 导弹拦截(NOIP1999)
导弹拦截(NOIP1999)
deadrain 发表于 2007-08-16 23:19:02
题目略有改动,第一问即求最长下降子序列,第二问求最长升序子序列,要减1!
CODE:
-------------------------------------
CODE:
-------------------------------------
program p1303;
var
s:string;
c:char;
a:array[1..20] of integer;
f:array[1..20] of longint;
n,i,j,k:integer;
begin
n:=0;s:='';
while not eoln do
begin
read(c);
if c=',' then
begin
inc(n);
val(s,a[n],k);
s:='';
end
else s:=s+c;
end;
inc(n);
val(s,a[n],k);
fillchar(f,sizeof(f),0);
k:=1;f[n]:=1;
for i:=n-1 downto 1 do
begin
f[i]:=1;
for j:=i+1 to n do
if (a[i]>a[j]) and (f[i]<f[j]+1) then f[i]:=f[j]+1;
if f[i]>k then k:=f[i];
end;
write(k,',');
fillchar(f,sizeof(f),0);
k:=1;f[1]:=1;
for i:=2 to n do
begin
f[i]:=1;
for j:=i-1 downto 1 do
if (a[j]<a[i]) and (f[i]<f[j]+1) then f[i]:=f[j]+1;
if f[i]>k then k:=f[i];
end;
write(k-1);
end.
相关日志:
- » NOIP结束了
- » 镇江一游(2)
- » 镇江一游(1)
- » zoj 1002 Fire Net
- » 告别之战
收藏:
QQ书签
del.icio.us
订阅:
Google
抓虾












