Poj百练(分类刷题) 2808 校门外的树

匿名 (未验证) 提交于 2019-12-03 00:36:02

仍然是acm的基础题。。简单的数组运算,状态模拟

但是伟大往往不都是从菜鸟开始的么哈哈。。

本人菜鸟一枚,决心入了acm的坑,目前双非普一大一,给自己立个flag吧,2018年,蓝桥杯国赛,校acm拿奖!

每周更新poj5-8题,欢迎监督,题是我分好类来刷的,有兴趣的同学可以和我一起。欢迎交流~


这道题的注意都写在注释里了咯

#include<cstdio> #include<iostream> #include<string.h> using namespace std;  int L, M; int main(){ 	scanf("%d%d", &L, &M); 	//用一个Bit来表示一个区域节省空间,1表示有树,同时记得略微扩大数组以防止越界  	char pos[L+10]; 	memset(pos, 1, sizeof(pos)); 	int a, b;  	for(int i = 0; i < M; i++){ 		scanf("%d%d",&a,&b); 		//这里采用位运算增强计算效率  		for(int i = a; i <= b; i++){ 			//printf("%c",pos[i]); 			pos[i] &= 0; 		}			 			 	} 	 	int count = 0; 	//尤其要注意这个地方,注意考虑从0开始到L的两端点情况  	for(int i = 0; i <= L; i++){ 		if(pos[i]) 			++count; 	} 	printf("%d",count); 	return 0; }

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!