P 1047[NOIP 2005普及グループ]校門外の木

4471 ワード

タイトルの説明
ある校門の外の長さlの道路には木が並んでいて、2本の隣接する木の間の間隔は1メートルです.私たちは道路を1つの数軸と見なすことができて、道路の一端は数軸0の位置にあって、もう一端はlの位置にあります;数軸上の各整数点、すなわち0,1,2,...,lには、木が植えられている.
道路には地下鉄を建設するための地域があるからです.これらの領域のツリー(領域の端点にある2本のツリーを含む)を移動します.
コード#コード#
各ツリーの位置を文字配列で格納することで、スペースの利用を大幅に削減できます.
#include

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;
}