回 帖 发 新 帖 刷新版面

主题:求助!!!

[u][b]
帮帮忙:[/b][/u]

输入一个由10个整数组成的序列,其中序列中任意连续三个整数都互不相同,求该序列中所有递增或递减子序列的个数。
例如:
输入:1 10 8 5 9 3 2 6 7 4
输出:6

回复列表 (共1个回复)

沙发

TYPE 
    arr1 = ARRAY(1..10) OF INTEGER;
    arr2 = ARRAY(1..10) OF BOOLEAN;
VAR
   a: arr1,b: arr2, i, s: INTEGER;
BEGIN
FOR i:=1 TO 10 DO READLN(a[i]);
FOR i:=2 TO 10 DO BEGIN
    IF a[i] > a[i - 1] THEN b[i] := TRUE ELSE b[i] := FALSE;
END;
i := 2;
s ;= 0;
REPEAT
      REPEAT
            i := i + 1;
      UNTIL (b[i] <> b[i - 1]) OR (i = 10);
      s := s + 1;  
UNTIL (i = 10);
WRITELN(s);
END.

我来回复

您尚未登录,请登录后再回复。点此登录或注册