日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

SZU:A12 Jumping up and down

系統(tǒng) 2083 0

Judge Info

  • Memory Limit: 32768KB
  • Case Time Limit: 10000MS
  • Time Limit: 10000MS
  • Judger: Number Only Judger

Description

In the kingdom of frog, the most popular sport is jumping up and down. Frog likes to jump up(go higher) or jump down(go lower) but jump at the same height(not go higher,and not go lower). The frog king wants to have a sport path for jumping. The Sport path is made by same size blocks which may have different height,when the frog on the path, he can only jumps from one block to the next adjacent block. For frog, perfect path for jumping are those same-height-jumps can be avoided. The Sport path can be represented by an integer sequence which denotes the height of blocks.The length of the sport path is the numbers of integer in the sequence.

Task

Now, it is your turn. You will have a integer sequence represent a sport path, please output the longest perfect path we can find in the given sport path without cutting off.

Input

The first line of input contains?, the number of test cases. There are two lines for each test case. The first line contains an integer number?denoting how many blocks in the sport path. The second line contains? N ?integer numbers (the height of blocks in the range? [ ? 100,100] ).

Output

For each test case, print a line contains the solution.

Sample Input

    2

8

1 1 3 5 5 7 9 8

5

1 2 3 4 5


  

Sample Output

    4

5
    


解題思路:剛開始讀不懂題意,以為是消除相同數(shù)和其本身,經(jīng)過朋友說下才明白,原來是找最長的子串,但是遇到重復(fù)數(shù)字就開始新的字符串序列。
剛開始用了兩個(gè)數(shù)組,之后用一個(gè)數(shù)組,而ACMser都不用開數(shù)組。

      
         1
      
       #include <stdio.h>


      
         2
      
       #include <
      
        string
      
      .h>


      
         3
      
      
        int
      
       A[
      
        103
      
      
        ];


      
      
         4
      
      
         5
      
      
        int
      
      
         main() {


      
      
         6
      
      
        int
      
      
         t,i,n,pre,max,count,min;


      
      
         7
      
           scanf(
      
        "
      
      
        %d
      
      
        "
      
      ,&
      
        t);


      
      
         8
      
      
        while
      
       (t--
      
        ) {


      
      
         9
      
               max = 
      
        1
      
      
        ;


      
      
        10
      
               scanf(
      
        "
      
      
        %d
      
      
        "
      
      ,&
      
        n);


      
      
        11
      
      
        for
      
       (i=
      
        0
      
      ;i<n;i++
      
        ) {


      
      
        12
      
                   scanf(
      
        "
      
      
        %d
      
      
        "
      
      , &
      
        A[i]);


      
      
        13
      
      
                }


      
      
        14
      
               pre = 
      
        0
      
      
        ;


      
      
        15
      
               count =
      
        1
      
      
        ;


      
      
        16
      
      
        for
      
       (i=
      
        1
      
      ;i<n;++
      
        i) {


      
      
        17
      
      
        18
      
      
        if
      
      (A[i]==
      
        A[pre]){


      
      
        19
      
      
        if
      
      (count>
      
        max)


      
      
        20
      
                           max =
      
         count;


      
      
        21
      
                       count =
      
        1
      
      
        ;


      
      
        22
      
      
        continue
      
      
        ;


      
      
        23
      
      
                    }


      
      
        24
      
                   count++
      
        ;


      
      
        25
      
                   pre=
      
        i;


      
      
        26
      
      
                }


      
      
        27
      
               min =
      
         count;


      
      
        28
      
      
        if
      
       (min >
      
         max)


      
      
        29
      
                   max =
      
         min;


      
      
        30
      
               printf(
      
        "
      
      
        %d\n
      
      
        "
      
      
        ,max);


      
      
        31
      
      
            }


      
      
        32
      
       }
    

?

朋友的做法(不開數(shù)組):

      
         1
      
       #include <stdio.h>


      
         2
      
      
        int
      
       process(
      
        int
      
      
         n);


      
      
         3
      
      
        int
      
      
         main()


      
      
         4
      
      
        {


      
      
         5
      
      
        int
      
      
         testcase;


      
      
         6
      
           scanf(
      
        "
      
      
        %d
      
      
        "
      
      , &
      
        testcase);


      
      
         7
      
      
        while
      
       (testcase--
      
        ) {


      
      
         8
      
      
        int
      
      
         n;


      
      
         9
      
               scanf(
      
        "
      
      
        %d
      
      
        "
      
      , &
      
        n);


      
      
        10
      
               printf(
      
        "
      
      
        %d\n
      
      
        "
      
      
        , process(n));


      
      
        11
      
      
            }


      
      
        12
      
      
        }


      
      
        13
      
      
        int
      
       process(
      
        int
      
      
         n)


      
      
        14
      
      
        {


      
      
        15
      
      
        int
      
      
         i, pre, cur;;


      
      
        16
      
           scanf(
      
        "
      
      
        %d
      
      
        "
      
      , &
      
        pre);


      
      
        17
      
      
        int
      
       cnt = 
      
        1
      
      , cur_max = 
      
        1
      
      
        ;


      
      
        18
      
      
        for
      
       (i = 
      
        1
      
      ; i != n; i++
      
        ) {


      
      
        19
      
               scanf(
      
        "
      
      
        %d
      
      
        "
      
      , &
      
        cur);


      
      
        20
      
      
        if
      
       (cur ==
      
         pre) {


      
      
        21
      
      
        if
      
       (cur_max <
      
         cnt)


      
      
        22
      
                       cur_max =
      
         cnt;


      
      
        23
      
                   cnt = 
      
        1
      
      
        ;


      
      
        24
      
      
                }


      
      
        25
      
      
        else
      
      
         {


      
      
        26
      
                   cnt++
      
        ;


      
      
        27
      
      
                }


      
      
        28
      
               pre =
      
         cur;


      
      
        29
      
      
            }


      
      
        30
      
      
        if
      
       (cur_max <
      
         cnt)


      
      
        31
      
               cur_max =
      
         cnt;


      
      
        32
      
      
        return
      
      
         cur_max;


      
      
        33
      
       }
    

?

    
      ?
    
  

SZU:A12 Jumping up and down


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 察隅县| 原平市| 五指山市| 浮梁县| 霍城县| 福鼎市| 新密市| 大洼县| 邢台县| 曲靖市| 盐池县| 阳曲县| 曲沃县| 浪卡子县| 罗源县| 九龙县| 缙云县| 金昌市| 铁力市| 隆回县| 尖扎县| 绥江县| 太仆寺旗| 永新县| 昌邑市| 浪卡子县| 曲水县| 北海市| 长顺县| 康定县| 济南市| 上栗县| 星座| 西吉县| 东阿县| 顺平县| 昂仁县| 宁海县| 额敏县| 长汀县| 宁南县|