1250: 导弹拦截问题 时间限制: 1 Sec 内存限制: 128 MB 提交: 142 解决: 37 您该题的状态:已完成 [提交][状态][讨论版] 题目描述 某国为了防御敌国的导弹袭

#include<stdio.h>
#include<string.h>
int main () {
    int k,j,l,max,a[150];
    for(k=0; ; k++) {
        scanf("%d",&a[k]);
        if(getchar()=='\n')
            break;
    }
    int n=k+1,i;
    int t=0;
    //printf("%d\n",n);
for(i=0; i<n; i++) 
{
    if(a[i]!=-1)// 已经处理过的导弹不进行筛选 
    {
            int max=a[i];//把当前导弹的高度当做最大 
            t++;
            for(j=i+1; j<n; j++)
         {
            if(a[j]<=max&&a[j]!=-1)//a【i】 小于等于前一个都能通过 
             {
                max=a[j];//此时通过的导弹高度变为筛选条件 
                a[j]=-1;//做标记 不费时间 已处理过 
              }
          }  
    }
}
printf("%d\n",t);
return 0;

猜你喜欢

转载自blog.csdn.net/qq_40835329/article/details/81274544