11764 - Jumping Mario

Mario is in the final castle. He now needs to jump over few walls and then enter the Koopa’s Chamber where he has to defeat the monster in order to save the princess. For this problem, we are only concerned with the “jumping over the wall” part. You will be given the heights of N walls from left to right. Mario is currently standing on the first wall. He has to jump to the adjacent walls one after another until he reaches the last one. That means, he will make (N-1) jumps. A high jump is one where Mario has to jump to a taller wall, and similarly, a low jump is one where Mario has to jump to a shorter wall. Can you find out the total number of high jumps and low jumps Mario has to make?

 

Input

The first line of input is an integer T (T < 30) that indicates the number of test cases. Each case starts with an integer N (0 < N < 50) that determines the number of walls. The next line gives the height of the N walls from left to right. Each height is a positive integer not exceeding 10.

 

Output

For each case, output the case number followed by 2 integers, total high jumps and total low jumps, respectively. Look at the sample for exact format.

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

Sample Input                            Output for Sample Input

3

8

1 4 2 2 3 5 3 4

1

9

5

1 2 3 4 5

 

Case 1: 4 2

Case 2: 0 0

Case 3: 4 0

 解题思路:前后两数相减大于0为a high jump,小于0为a low jump;计算两个jump分别多少

#include<stdio.h>
int main()
{int t,n,a[51]={0},b,c,i,j,flag;
scanf("%d",&t);
flag=1;
while(t--){
           scanf("%d",&n);
           for(i=0;i<n;i++)
           scanf("%d",&a[i]);
           if(n==1)b=c=0;
           for(b=c=i=0,j=1;j<n;i++,j++)
           if(a[i]-a[j]<0)b++;
           else if(a[i]-a[j]>0)c++;
           printf("Case %d: %d %d\n",flag,b,c);
           flag++;
           }
return 0;
}

 

posted on 2013-02-17 13:21  喂喂还债啦  阅读(1039)  评论(0编辑  收藏  举报