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<=M<=100)个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的个数。

输入

两个整数L(1<=L<=10000)和M(1<=M<=100)。
    接下来有M组整数,每组有一对数字。

输出

可能有多组输入数据,对于每组输入数据,输出一个数,表示移走所有区间的树之后剩下的树的个数。

样例输入

4 2
1 2
0 2
11 2
1 5
4 7
0 0

样例输出

2
5

PS:我忍不住吐槽一下,这道题暴力法解决!不需要想问题想的太复杂了!想那么多干什么?这道题的时间复杂度最高是O(10^6),不会超过1s的!昨天晚上我做的时候,想复杂了... 还去把左右区间排了个序...根本不需要...这道题就是一个简单的模拟题,题目要你干啥,你就干啥,只是把中文话,变成代码,让计算机懂!那么问题来了?"区间之间可能有重叠 "这句话怎么翻译?设置一个访问数组visit[]就行,初始化全为0,当访问过了就置为-1.一旦没访问过,就L--;输出需要注意的是:L+1  因为是剩下的树的数量

//碰到的一个报错:error: reference to 'left' is ambiguous自定义的left 变量与库中重名;解决:修改一下变量名

代码如下:
 1 #include <iostream>
 2 #include<algorithm>
 3 #include<vector>
 4 #include<cstring>
 5 #define maxn 10001
 6 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 7 using namespace std;
 8
 9 int L,M;//长度以及组数
10 typedef struct interval{
11     int l;//左端点,
12     int r;//右端点
13 }Interval;
14 int visit[maxn];
15
16 Interval inter[maxn];
17 void solve(){
18      int i,j;
19     for(i=0;i<M;i++){
20         for(j=inter[i].l;j<=inter[i].r;j++){
21             if(visit[j]==0) {
22                 L--;
23                 visit[j]=-1;
24             }
25         }
26     }
27     cout<<L+1<<endl;
28
29 }
30 int main(int argc, char** argv) {
31
32     int i;
33
34     cin>>L>>M;
35     while(L&&M){
36          memset(visit,0,sizeof(visit));
37         for(i=0;i<M;i++){
38             cin>>inter[i].l>>inter[i].r;
39         }
40
41         solve();
42         cin>>L>>M;
43     }
44     return 0;
45 }

转载于:https://www.cnblogs.com/industrial-fd-2019/p/10599403.html

Codeup 墓地——1814: 剩下的树相关推荐

  1. Codeup 1814.剩下的树

    -------------------- /*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * ...

  2. [Codeup]1814 问题 A: 剩下的树

    题目描述 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,-,L共L+1个位置上有L+1棵 ...

  3. 1814 Problem A 剩下的树

    问题 A: 剩下的树 时间限制: 1 Sec  内存限制: 32 MB 题目描述 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在 ...

  4. codeup墓地目录(算法笔记习题刷题笔记)

    在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门模拟->简单模拟 ...

  5. codeup墓地目录

    代码内容为原创C++ 在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门 ...

  6. 九度1088——剩下的树

    九度1088 题目描述: 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,-,L共L+1个 ...

  7. Codeup墓地-1123

    Codeup墓地-1123 src:http://codeup.cn/problem.php?id=1123 1123: 确定排序序列 时间限制: 1 Sec 内存限制: 32 MB 题目描述 一个由 ...

  8. Codeup墓地-1107

    Codeup墓地-1107 src:http://codeup.cn/problem.php?id=1107 1107: 欧几里得游戏 时间限制: 1 Sec 内存限制: 32 MB 题目描述 小明和 ...

  9. Codeup墓地1817号A+B

    Codeup墓地链接:http://codeup.cn/ 本题链接:http://codeup.cn/problem.php?cid=100000575&pid=1 问题描述: 问题 B: A ...

最新文章

  1. MySQL 设计规范(续)
  2. 检查人物身上指定物品位置是否佩带指定物品名称
  3. 如何下载和离线安装Chrome的CRX扩展文件包
  4. 最短路径(Dijkstra算法)(c/c++)
  5. 北航研究生计算机系论文手册,计算机学院-北航研究生院-北京航空航天大学.doc...
  6. 在Ocelot中使用自定义的中间件(一)
  7. 数据库激荡 40 年,深入解析 PostgreSQL、NewSQL 演进历程
  8. oracle复杂分组查询语句,oracle中的“复杂”分组统计sql
  9. 相亲也内卷?被程序员的相亲规划整不会了......
  10. RabbitMQ系列——Rabbitmq Plugin configuration unchanged. 解决方案
  11. Promise 入门
  12. 明日之后八级房怎么造?明日之后好看的八级房蓝图造型汇总
  13. visual studio常用插件
  14. 晶振与晶体的参数详解
  15. 【大数据】大数据初识
  16. SQL Server DeadLock 分析
  17. LeetCode876 --- 剑指Offer 22
  18. 数据库、MySQL的简介和使用
  19. 【计算几何】点与三角形关系
  20. VaR风险价值-Python版本

热门文章

  1. 在场景中添加光线——添加HLSL Vertex Shading
  2. 用css和jquery实现标签页效果(一)
  3. 入门机器学习(二十)--编程作业-异常检测和推荐系统(Python实现)
  4. 卢克增加服务器,DNF卢克攻坚服务器优化:增加攻坚队频道,新跨区整合计划
  5. C语言爬楼梯问题(递推)
  6. 定位html中的背景图,关于背景图的定位和透明度问题(HTML+CSS笔记)
  7. c 语言中的菱形继承,C++中的菱形继承深入分析
  8. 一道二叉树的题目--后序遍历+中序遍历确定二叉树
  9. 「CF 932E」 Team Work
  10. 602. Friend Requests II: Who Has Most Friend?