[解题报告]11764 - Jumping Mario

题目大意

题目原文:http://uva.onlinejudge.org/external/117/11764.pdf

背景:

玛莉欧(Mario)在最后的城堡。他现在需要跳过一些墙壁,然后进入库巴(Koopa)的房间,他要打败怪物,以拯救公主。对于这个问题,我们只关注 “翻过墙”的一部分。你将被给予N个墙壁(由左至右)的高度。玛莉欧(Mario)目前站在第一个墙壁。他必须跳到相邻的墙壁直到最后一个。这意味着,他将跳跃 N - 1 次。a high jump 代表玛莉欧(Mario)跳到一个较高的墙,同样,a low jump代表玛莉欧(Mario)跳到一个较矮的墙。你能找出 a high jump 和 a low jump 的总数吗?
 
 
 

输入

第一行输入的是一个整数T(T < 30),表示接下来有T笔测资。每笔测资开始于一个正整数 N(N < 50),表示墙壁的数目。下一行依序为 N 个墙壁的高度(由左至右)。每一个高度是不超过10的非负整数。

 

输出

 

对每笔测资先输出这是第几笔测资,接下来两个数代表 high jumps 和 low jumps 的总数。
格式请参考范例测资 。

 

 

Sample Input                            Output for Sample Input

3

8

1 4 2 2 3 5 3 4

1

9

5

1 2 3 4 5

<!--[if !supportEmptyParas]--> <!--[endif]-->

Case 1: 4 2

Case 2: 0 0

Case 3: 4 0


算法:

 很简单的题目自己看代码。

代码:

这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。

#include<stdio.h>
int main(void)
{
    int h[50];
    int i,hj,lj,t,n,count=1;

    scanf("%d",&t);
    while(t--)
    {
        hj=0;lj=0;
        scanf("%d",&n);

        for(i=0;i<n;i++)
        scanf("%d",&h[i]);

        for(i=0;i<n-1;i++)
        {
            if(h[i+1]>h[i])
            hj++;
            else if(h[i+1]<h[i])
            lj++;
        }
        printf("Case %d: %d %d\n",count++,hj,lj);

    }
}

 

posted @ 2013-02-22 13:23  乱七八糟 。  阅读(420)  评论(0编辑  收藏  举报