90分,不知道哪里错了

P1047 [NOIP2005 普及组] 校门外的树

Lem0nCat_bruh @ 2023-12-20 19:23:42

#include <iostream>
using namespace std;
int l, m, start, finish, a[10005], ans;//定义

int main() {
    cin >> l >> m;
    int ks = l / 1 + 1;//计算这条马路一开始种了几棵树

    for (int i = 1; i <= m; i++) {
        cin >> start >> finish;
        for (int j = start; j <= finish; j++) {
            a[j] = 1;//把在指定范围内需要被砍掉的树木的a[i]标为1
        }
    }

    for (int i = 1; i <= ks; i++) {
        if (a[i] == 0)//如果这棵树没有在指定范围内,就累加起来
            ans++;
    }

    cout << ans;//最后输出结果

    return 0;
}

这90分已经困扰我很久了……


by 冰糖鸽子 @ 2023-12-20 19:33:55

@Cai_Zhiyin 最后一个循环的范围是 for (int i = 0; i < ks; i++)

因为树的标号是在这个范围里的,额。


by Lem0nCat_bruh @ 2023-12-21 12:53:18

@冰糖鸽子 哦原来是这样,谢谢!

orz


|