剩下的树

题目描述:
  有一个长度为整数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;
}
时间: 2024-12-28 12:27:44

剩下的树的相关文章

九度OJ 1088 剩下的树

题目1088:剩下的树 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4253 解决:1907 题目描述: 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树. 现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树. 可能有M(1<=M<=100)个区间,区间之间可能有重叠.现

九度OJ—题目1088:剩下的树

题目描述: 有一个长度为整数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

题目1088:剩下的树

时间限制:1 秒 内存限制:32 兆 题目描述: 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树.    现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树.    可能有M(1<=M<=100)个区间,区间之间可能有重叠.现在要求移走所有区间的树之后剩下的树的个数. 输入: 两个整

九度1088:剩下的树

http://ac.jobdu.com/problem.php?pid=1088# 题目1088:剩下的树 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4276 解决:1919 题目描述: 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树. 现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)

Codeup_575A_剩下的树

[提交][状态][讨论版][命题人:外部导入] 题目描述 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树.     现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树.     可能有M(1<=M<=100)个区间,区间之间可能有重叠.现在要求移走所有区间的树之后剩下的树的个数. 输

Codeup 墓地——1814: 剩下的树

1814: 剩下的树 时间限制: 1 Sec  内存限制: 32 MB提交: 2403  解决: 928[提交][状态][讨论版][命题人:外部导入] 题目描述 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树.     现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树.     可能有M(1&

机试指南hash的应用练习题2剩下的树

题目描述 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树.     现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树.     可能有M(1<=M<=100)个区间,区间之间可能有重叠.现在要求移走所有区间的树之后剩下的树的个数. 输入描述:     两个整数L(1<=L&l

清华大学机试 剩下的树 Easy *贪心的区间思想

基本思想: 自己想到了贪心区间里面进行区间排序的思想: 但是还有一种更简单的,直接进行构建一个标记数组,然后按个数进行标记即可: 关键点: 注意区间包含问题: #include<stdio.h> #include<stdlib.h> #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; struct n

【CF778C】Peterson Polyglot(Trie树,启发式合并)

题意:有一棵n个结点的只由小写字母组成的Trie树,给定它的具体形态,问删除哪一层后剩下Trie树的结点数最少 n<=3e5 思路:先建出原Trie树,对于每一层的每一个结点计算删除后对答案的贡献,这一部分使用启发式合并 官方题解证明了时间复杂度是一个log的 http://codeforces.com/blog/entry/50724 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #i