题解 | 剩下的树 标志动态数组/容器

剩下的树

https://www.nowcoder.com/practice/f5787c69f5cf41499ba4706bc93700a2

#include <iostream>
#include <vector>
using namespace std;

int main() {
	int L, M, start, end, count;
	// 用标志数组表示有树无树
	vector<int> interval;
	vector<int>::iterator it;
	while (cin >> L >> M) { 
		// 多轮一定要记得清空必要的上一轮数据
		count = 0;
		interval.clear();

		// 动态数组填充值
		while (L >= 0) {
			interval.push_back(1);  // 1 表示有树 0 表示无树
			L--;
		}
		for (int i = 0; i < M; i++) {
			cin >> start >> end;
			for (int j = start; j <= end; j++) {
				if (interval[j] != 0) {
					interval[j] = 0;
				}
			}
		}
		for (it = interval.begin(); it != interval.end();it++) {
			if (*it == 1) {
				count++;
			}
		}
		cout << count << endl;
	}
	return 0;
}

#考研##复试练习#
2025考研复试 文章被收录于专栏

复试ing,努力中。。。

全部评论

相关推荐

不愿透露姓名的神秘牛友
02-25 17:03
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务