codevs 1214 线段覆盖
来源:互联网 发布:mac看照片怎么下一张 编辑:程序博客网 时间:2024/06/05 11:21
1214 线段覆盖
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 黄金 Gold
题目描述 Description
给定x轴上的N(0<N<100)条线段,每个线段由它的二个端点a_I和b_I确定,I=1,2,……N.这些坐标都是区间(-999,999)的整数。有些线段之间会相互交叠或覆盖。请你编写一个程序,从给出的线段中去掉尽量少的线段,使得剩下的线段两两之间没有内部公共点。所谓的内部公共点是指一个点同时属于两条线段且至少在其中一条线段的内部(即除去端点的部分)。
输入描述 Input Description
输入第一行是一个整数N。接下来有N行,每行有二个空格隔开的整数,表示一条线段的二个端点的坐标。
输出描述 Output Description
输出第一行是一个整数表示最多剩下的线段数。
样例输入 Sample Input
3
6 3
1 3
2 5
样例输出 Sample Output
2
数据范围及提示 Data Size & Hint
0<N<100
#include<stdio.h>typedef struct node { int start; int end;}node;node a[101];void sort(int T) { int i; int j; node tmp; for(i = 0;i < T;i++) { for(j = i;j < T;j++) { if(a[i].start > a[j].start) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; } if(a[i].end > a[j].end) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; } } }}int main(void) { int T; int i; int b; int c; int max = -1000; int count = 0; scanf("%d",&T); for(i = 0;i < T;i++) { scanf("%d %d",&b,&c); if(b > c) { a[i].start = c; a[i].end = b; } else { a[i].start = b; a[i].end = c; } } sort(T); for(i = 0;i < T;i++) { if(a[i].start >= max) { count++; max = a[i].end; } else { continue; } } printf("%d\n",count); return 0;}
阅读全文
0 0
- codevs 1214 线段覆盖
- 【codevs 1214】线段覆盖
- Codevs 1214 线段覆盖
- CODEVS 1214线段覆盖
- codeVS 1214 线段覆盖
- codevs 1214 线段覆盖
- Codevs 1214 线段覆盖
- 【贪心】【排序】【codevs 1214】线段覆盖
- codevs 1214 线段覆盖 贪心 解题报告
- codevs 1214 线段覆盖(贪心)
- 线段覆盖 CODEVS
- 线段覆盖2 CODEVS
- codevs 线段覆盖系列
- [CODEVS 3037] 线段覆盖 5
- codevs线段覆盖 动态规划
- Codevs 3027 线段覆盖2
- CodeVS 3027 线段覆盖2
- codevs 1124线段覆盖(贪心)
- nRF51822低功耗CPU睡眠软件应用
- Intellij main方法
- 输出
- HTML+CSS编写静态网站-01 课程简介
- thread04
- codevs 1214 线段覆盖
- Synchronized 互斥块(对象锁) 一个对象和一个monitor 的关系
- 第43课: Spark 1.6 RPC内幕解密:运行机制、源码详解、Netty与Akka等
- 好久不写了
- 如何快速下载DockerToolbox?使用国内开源镜像站点
- laravel中查询语句
- Centos7 安装SVN
- QFileDialog 的各种属性设置介绍
- Qt5.5 QFileDialog类的使用方法