就是拦截导弹的简化版(不需要管每个系统最多能拦截多少导弹,能拦下来就行了)
题目大意:大致就是定义一种数组(这个数组中每第i+1个数都要小于等于第i个数),然后按输入顺序将输入的数依次放入这种数组中,问放完输入的这串数总共需要多少个数组。
不过我的代码的问题好像在于运行时它不会跳出输入的那个while循环
希望大佬们能帮忙看看
#include<bits/stdc++.h>
using namespace std;
int dd[1000], minn[1000];
int main(){
int ans = 1, len = 1;
scanf("%d", &dd[0]);
minn[0] = dd[0];
while(scanf("%d", &dd[len])){
int d = 0;
for (int i = 0; i < ans; ++i)
if(dd[len] < minn[i]){
minn[i] = dd[len];
d = 1;
break;
}
if(d == 0){
minn[ans] = dd[len];
ans++;
}
len++;
}
printf("%d", ans);
return 0;
}