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

Posted Kunkun只喝怡宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1047 [NOIP2005 普及组] 校门外的树相关的知识,希望对你有一定的参考价值。

题目描述

某校大门外长度为 l 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 l 的位置;数轴上的每个整数点,即 0,1,2,…,l,都种有一棵树。

由于马路上有一些区域要用来建地铁。现在要把这些区域中的树(包括区域端点处的两棵树)移走。

代码

用字符数组来存储每棵树的位置能够大大减少空间的利用。

#include<bits/stdc++.h>

using namespace std;

int main(){
	int l,m,i,j,u,v,cnt=0;
	char a[10010];
	memset(a,'1',sizeof(a));
	cin>>l>>m;
	for(i=0;i<m;i++){
		cin>>u>>v;
		for(j=u;j<=v;j++){
			if(a[j]=='1') a[j]='0';
		}
	}
	for(i=0;i<=l;i++){
		if(a[i]=='1') cnt++;
	}
	cout<<cnt;
	return 0;
}

以上是关于P1047 [NOIP2005 普及组] 校门外的树的主要内容,如果未能解决你的问题,请参考以下文章

入门4数组

入门4数组

[NOIP2005] 普及组 循环

NOIP2005复赛 普及组 第二题

P1047 校门外的树

P1047 校门外的树