题目描述
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。
我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;
数轴上的每个整数点,即0,1,2,…,L都种有一棵树。

由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。
已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。
现在要把这些区域中的树(包括区域端点处的两棵树)移走。
你的任务是计算将这些树都移走后,马路上还有多少棵树。

输入输出格式
输入格式:
第一行有2个整数L(1≤L≤10000)和 M(1≤M≤100),L代表马路的长度,M代表区域的数目,
L和M之间用一个空格隔开。
接下来的M行每行包含2个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。

输出格式:
1个整数,表示马路上剩余的树的数目。

输入输出样例
输入样例#1: 复制
500 3
150 300
100 200
470 471
输出样例#1: 复制
298

import java.util.Scanner;
public class P1047_校门外的树 { public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int L=in.nextInt();
int M=in.nextInt();
int count=L+1;
boolean c[]=new boolean[L+5];
int a[]=new int[M+1];
int b[]=new int[M+1];
for(int i=0;i<M;i++){
a[i+1]=in.nextInt();
b[i+1]=in.nextInt();
}
for(int i=1;i<=M;i++){
for(int j=a[i];j<=b[i];j++){
if(c[j]==false){
c[j]=true;
count--;
}
}
}
System.out.println(count);
} }

最新文章

  1. brew 安装 mysql
  2. Odoo 二次开发教程(五)-新API的介绍与应用
  3. ncurses-devel
  4. canvas画简单电路图
  5. vijos1037搭建双塔(一维背包问题)
  6. ES6之模版字符串
  7. CentOS 6.4安装AMH面板
  8. 使用Hint来优化执行计划
  9. 解题报告 HDU1087 Super Jumping! Jumping! Jumping!
  10. 写一个简单的Web框架
  11. struts2查询的数据的存放
  12. js 的四种设计模式的优缺点
  13. 下载旧版chrome
  14. 【FPGA学习】Verilog之加法器
  15. Velocity 模板引擎的应用
  16. ACM札记
  17. wapp HTTP Error 404. The requested resource is not found.
  18. scrapy 也能爬取妹子图?
  19. python脚本传入参数--精讲(getopt模块)
  20. Trie树入门

热门文章

  1. HDU 4272 LianLianKan(状压DP)题解
  2. Windows 10 自带 free 屏幕截图/录像软件 Game Bar! 不仅仅是game-游戏呦! 高清晰,高保真,perfect!不仅仅是游戏呦!
  3. 互联网公司技术岗实习/求职经验(实习内推+简历+面试+offer篇)
  4. CSS BEM
  5. position: absolute; not work
  6. 为什么10月上线的NGK Global即将燎原资本市场
  7. ipv4ipv6 地址字符串表示最大长度
  8. VMware安装centos.6.8无法访问主机的问题
  9. Linux下安装mysql-5.7.28详细步骤
  10. WPF权限控制框架——【4】抛砖引玉