社区讨论

一个很简单但我不知道为什么的小问题

灌水区参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lqhcgdur
此快照首次捕获于
2023/12/23 08:50
2 年前
此快照最后确认于
2023/12/23 11:07
2 年前
查看原帖
就是拦截导弹的简化版(不需要管每个系统最多能拦截多少导弹,能拦下来就行了)
题目大意:大致就是定义一种数组(这个数组中每第i+1个数都要小于等于第i个数),然后按输入顺序将输入的数依次放入这种数组中,问放完输入的这串数总共需要多少个数组。
不过我的代码的问题好像在于运行时它不会跳出输入的那个while循环
希望大佬们能帮忙看看
CPP
#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;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...