【题目】
径直经过一片麦田,不能回头,选出你认为最大的麦穗,但是当你选择一个麦穗后,就不能选第二次。
现在 surfacedust 准备经历一次亚里士多德老师很久以前给出的难题,surfacedust 有一个标准来评判这个麦穗是不是足够好。如果一个麦穗达到这个标准分,就认为这是他要选择的那个。
【输入】
每组实例三行,第一行是surfacedust的标准分,第二行为一个整数N(N < 100000),第三行是N个整数,依次表示了每个麦穗的分数。
【输出】
surfacedust需要走多久才能找到他心中的那个麦穗,如果他找不到,那就输出“NONE”,详见样例。
【输入样例】
68
3
66 68 98
98
6
100 78 99 100 69 87
【输出样例】
2
1
【代码如下】
#include<stdio.h>
int main()
{
int m,n;
int a[100005];
while(scanf("%d%d",&m,&n)!=EOF)
{
int step=1;/*不能把step放在while的前面!!!*/
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);/*输入n个数,便于后面的比较*/
}
for(int j=0;j<n;j++)
{
if(a[j]>=m)
{
break;/*如果出现比m大的数,就结束循环*/
}
else
step++;/*每有一个元素小于m,就纪录一次*/
}
if(step<=n)
{
printf("%d\n",step);
}
else
printf("NONE\n");
}
return 0;
}
【心得】
好久没有刷oj了,就有些手生了,这个题犯了一个致命的错误(把 step = 1 放在了while的前面)
害!还是要 加油 呀!
【寄语】
行动力,是我们对平庸生活最好的回击。人与人之所以拉开距离,就在于行动力。不行动,梦想就只是好高骛远;不执行,目标就只是海市蜃楼。想做一件事,就请马上开始。