主题:请大家帮忙
gljie
[专家分:30] 发布于 2005-11-28 14:01:00
输入一个由10个整数组成的序列,其中序列中任意连续三个整数都互不相同,求该序列中所有递增或递减子序列的个数。
例如:
输入:1 10 8 5 9 3 2 6 7 4
输出:6
对应的递增或递减子序列为:
1 10
10 8 5
5 9
9 3 2
2 6 7
7 4
回复列表 (共1个回复)
沙发
toto061 [专家分:50] 发布于 2005-11-28 14:44:00
var i:integer;
a:array[1..10] of integer; // 输入的10个数
b:array[1..2] of integer; //b[1]---递增序列的个数,b[2]--为递减
big:boolean;
begin
read(a[1],a[2]);
if a[1]>a[2] then
begin
big:=false;
inc(b[2]);
end
else
begin
big:=true;
inc(b[1]);
end;
for i:=3 to 10 do
begin
read(a[i]);
if ((a[i]>a[i-1]) and (big=false)) then
inc(b[1]);
if ((a[i]<a[i-1]) and (big=true)) then
inc(b[2]);
end;
writeln(b[1]+b[2]); //输出总个数
readln;
end.
我来回复