原题: #B1322. 【例6.4】拦截导弹问题(一问)

@金文🔥🉑 (金文炣) 再帮我一次呗

11 条评论

  • @ 2026-10-14 20:05:57

    ````language`

    #include <iostream>
    using namespace std;
    int main() {
            int n[1001], t[1001], i = 0, k = 0;
            while (cin >> n[i]) {
            i++;
            }
            t[0] = n[0]; // 将第一个数存到t数组
            for (int j = 1; j < i; j++) { // 从第二个开始比较
            bool f = 1;
            int wz;
            int max = 40000;
            for (int l = 0; l <= k; l++) { // 找比n[j]大,且大小最接近的一个数
            if (t[l] >= n[j] && t[l] < max) {
            f = 0;
            wz = l;
            max = t[l];
            }
            }
            if (f) { // 如果不存在比n[j]更大的数
            k++;
            t[k] = n[j]; // t数组添加一个数
            } else { // 如果存在比n[j]更大的数
            t[wz] = n[j]; // 替换t数组上的值
            }
            }
            cout << k + 1;
            return 0;
    }
    
    • @ 2026-10-14 20:01:39

      等我两天

      • 还是不行

        • #include using namespace std;

          int main() { int n[1001], t[1001], i = 0, k = 0; while (cin >> n[i]) { i++; } t[0] = n[0]; // 将第一个数存到t数组 for (int j = 1; j < i; j++) { // 从第二个开始比较 bool f = 1; int wz; int max = 40000; for (int l = 0; l <= k; l++) { // 找比n[j]大,且大小最接近的一个数 if (t[l] >= n[j] && t[l] < max) { f = 0; wz = l; max = t[l]; } } if (f) { // 如果不存在比n[j]更大的数 k++; t[k] = n[j]; // t数组添加一个数 } else { // 如果存在比n[j]更大的数 t[wz] = n[j]; // 替换t数组上的值 } } cout << k + 1; return 0; }

        • ?????

          • #include using namespace std;

            int main() { int n[1001], t[1001], i = 0, k = 0; while (cin >> n[i]) { i++; } t[0] = n[0]; // 将第一个数存到t数组 for (int j = 1; j < i; j++) { // 从第二个开始比较 bool f = 1; int wz; int max = 40000; for (int l = 0; l <= k; l++) { // 找比n[j]大,且大小最接近的一个数 if (t[l] >= n[j] && t[l] < max) { f = 0; wz = l; max = t[l]; } } if (f) { // 如果不存在比n[j]更大的数 k++; t[k] = n[j]; // t数组添加一个数 } else { // 如果存在比n[j]更大的数 t[wz] = n[j]; // 替换t数组上的值 } } cout << k + 1; return 0; }

            • 分不了!!

              • #include using namespace std; int main() { int n[1001], t[1001], i = 0, k = 0; while (cin >> n[i]) { i++; } t[0] = n[0]; // 将第一个数存到t数组 for (int j = 1; j < i; j++) { bool f = 1; int wz; int max = 40000; for (int l = 0; l <= k; l++) { // 找比 n[j]大,且大小最接近的一个数 if (t[l] >= n[j] && t[l] < max) { f = 0; wz = l; max = t[l]; } } if (f) { // 如果不存在比n[j]更大的数 k++; t[k] = n[j]; // t数组添加一个数 } else { // 如果存在比n[j]更大的数 t[wz] = n[j]; // 替换t数组上的值 } } cout << k + 1; return 0; }

                • @ 唐铭泽 (BrooklynTang)

                  • #include using namespace std; int main() { int n[1001], t[1001], i = 0, k = 0; while (cin >> n[i]) { i++; } t[0] = n[0]; // 将第一个数存到t数组 for (int j = 1; j < i; j++) { bool f = 1; int wz; int max = 40000; for (int l = 0; l <= k; l++) { // 找比n[j]大,且大小最接近的一个数 if (t[l] >= n[j] && t[l] < max) { f = 0; wz = l; max = t[l]; } } if (f) { // 如果不存在比n[j]更大的数 k++; t[k] = n[j]; // t数组添加一个数 } else { // 如果存在比n[j]更大的数 t[wz] = n[j]; // 替换t数组上的值 } } cout << k + 1; return 0; }

                  • 稍等一下

                  • 1