文章

19

粉丝

0

获赞

1

访问

375

头像
校门外的树 题解:C++
P1085
发布于2025年6月23日 17:54
阅读数 56

#include<bits/stdc++.h>
using namespace std;

int main(){
	int n,m,a[100][2],num[10001]={0};
	cin>>n>>m;
	for(int i=0;i<m;i++){
		cin>>a[i][0]>>a[i][1];
	}
	for(int i=0;i<m;i++){
		for(int j=a[i][0];j<=a[i][1];j++){
			num[j]=1;
		}
	}
	int res=0;
	for(int i=0;i<=n;i++){
		if(num[i]==0){
			res++;
		}
	}
	cout<<res<<endl;
	return 0;
}

这一题我的思路是,把数组num作为整个公路,公路范围为1~10000,拿num下标作为树,则num应该为[10001],并且把数组中所有的值都初始化为0;此时开始去除区域内的树,只需要把对应下标的值修改为1即可(做个标记,表示这个下标的树已经被去掉);最后遍历0~n,若num值为0则表示树还存在。

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发