1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n,a[10000],hwq[10000],s=0,k; int main(){ while(cin>>k) a[++n]=k; 因为题目没告诉我们要输几个数,所以我们这样输 hwq[++s]=a[1];//第一发导弹肯定要新建一个系统才能接住 for(int i=2;i<=n;i++){ sort(hwq+1,hwq+s+1);//每次把系统的导弹高度排序 if(a[i]<=hwq[s]){//如果说这颗导弹是比最高的拦截导弹低那么肯定可以拦截 int j=1; while(hwq[j]<a[i]) j++;//从最低的拦截导弹开始找一颗高度可以的导弹 hwq[j]=a[i];//拦截后拦截导弹的高度就是被拦截导弹的高度 } else hwq[++s]=a[i];//如果这颗导弹不能拦截就新建一个系统把他拦了 } cout<<s;//输出系统个数 }
- 1
信息
- ID
- 95
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 135
- 已通过
- 35
- 上传者