题解 | #剩下的树#

剩下的树

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

#include <iostream>
#include <algorithm>

using namespace std;

struct Range {
	int from;
	int to;
};

bool compare (Range x, Range y){
	if (x.from != y.from){
		return x.from < y.from;
	}else{
		return x.to < y.to;	
	}
}

Range r[101];

int main () {
	int L, M;
	while (cin >> L >> M){
		for (int i = 0; i < M; i++){
			cin >> r[i].from >> r[i].to;
		}
		sort (r, r + M, compare);
		int tree = L + 1; 
		int begin = r[0].from;
		int end = r[0].to;
		for (int i = 0; i < M; i++){
			if (i == M - 1){
				tree -= end - begin + 1;
			}else{
				if (r[i + 1].from <= end){
					if (r[i + 1].to > end){
						end = r[i + 1].to;
					}
				}else{
					tree -= end - begin + 1;
					begin = r[i + 1].from;
					end = r[i + 1].to;
				}
			}
		}
		cout << tree << endl;
	}	
	return 0;
}

自己写的一直出错

参照的答案

全部评论

相关推荐

最近拿到了正浩的提前批offer感觉自己的实力得到了肯定,也给了我更多底气
搞机墨镜猫:正浩提前批官网好像就只有电力电子软硬件,哥们投的是这两个岗位吗
26届校招投递进展
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务