Description
众所周知,黄山市一片山(而不是一座山)。假设这些山排成了一排,每座山有各自的高度。现在游客们从最左边看山,有些山因为高度没有它左边的某座山高,就会被遮住,游客们就无法看到。现在请告诉游客,他能看到几座山(看到山顶即可被认为看到了,如果恰好山顶被遮住了,这座山也不算被看到)
Input
第1行1个正整数n,表示有N座山
第2行N个正整数,依次表示从左到右每座山的高度,每2个数之间用一个空格隔开
Output
一行一个正整数,表示从左端看,能看到多少座山
Sample Input
5
3 7 7 2 8
Sample Output
3
Hint
对于30%的数据满足:N<=100 山的高度小于或等于100
对于50%的数据满足:N<=1000 山的高度小于或等于1000
对于100%的数据满足:N<=100000 山的高度在int范围内
就从前往后推,如果后一个更高就加1,但别忘了第一座山;
代码如下:
#include<stdio.h>
int main()
{
int n,*p,c;
while(scanf("%d",&n)!=EOF)
{
int a[n],max;
c=1;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
p=&a[0];
max=*p;
for(int i=1;i<n;i++)
{
if(max<*(p+i))
{
max=*(p+i);
c++;
}
}
printf("%d\n",c);
}
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)