码迷,mamicode.com
首页 > 其他好文 > 详细

剩下的树

时间:2016-02-18 13:50:17      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

题目描述:
  有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树。     现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。     可能有M(1<=M<=100)个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的个数。
 
输入:
  两个整数L(1<=L<=10000)和M(1<=M<=100)。     接下来有M组整数,每组有一对数字。
输出:
  可能有多组输入数据,对于每组输入数据,输出一个数,表示移走所有区间的树之后剩下的树的个数。
样例输入:
  500 3
  100 200
  150 300
  470 471
样例输出:
  298
#include<stdio.h>
const int maxn=10000;

int main(){
    int n=0, m=0;
    while(scanf("%d %d", &n, &m) != EOF){
        int cnt=0;
        int trees[maxn]={0};//保存路旁的树,0代表有树,1代表没树 
        for(int i=0; i < m; i++){
            int up, low;//砍树区间的上界和下界 
            scanf("%d %d", &low, &up);
            for(int j=low; j <= up; j++){
                trees[j]=1;
            } 
        }//砍树结束,开始计数 
        
        for(int i=0; i <= n; i++){
            if(trees[i] == 0) cnt++;
        }
        printf("%d\n", cnt);
    }
    
    return 0;
}

 

剩下的树

标签:

原文地址:http://www.cnblogs.com/dudu-bird/p/5197800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!