POJ-1089-Intervals(贪心)
来源:互联网 发布:mac百度云离线下载 编辑:程序博客网 时间:2024/05/16 07:53
Description
There is given the series of n closed intervals [ai; bi], where i=1,2,…,n. The sum of those intervals may be represented as a sum of closed pairwise non−intersecting intervals. The task is to find such representation with the minimal number of intervals. The intervals of this representation should be written in the output file in acceding order. We say that the intervals [a; b] and [c; d] are in ascending order if, and only if a <= b < c <= d.
Task
Write a program which:
reads from the std input the description of the series of intervals,
computes pairwise non−intersecting intervals satisfying the conditions given above,
writes the computed intervals in ascending order into std output
Input
In the first line of input there is one integer n, 3 <= n <= 50000. This is the number of intervals. In the (i+1)−st line, 1 <= i <= n, there is a description of the interval [ai; bi] in the form of two integers ai and bi separated by a single space, which are respectively the beginning and the end of the interval,1 <= ai <= bi <= 1000000.
Output
The output should contain descriptions of all computed pairwise non−intersecting intervals. In each line should be written a description of one interval. It should be composed of two integers, separated by a single space, the beginning and the end of the interval respectively. The intervals should be written into the output in ascending order.
Sample Input
5
5 6
1 4
10 10
6 9
8 10
Sample Output
1 4
5 10
#include <cstdio>#include <algorithm>using namespace std;struct point{ int start; int end1;}i[50005];int cmp(const point&a,const point&b){ return a.start<b.start;}int main(){ int n; scanf("%d",&n); for(int a = 0;a < n;a ++) scanf("%d%d",&i[a].start,&i[a].end1); sort(i,i+n,cmp); /*for(int a = 0;a < n;a ++) printf("%d %d\n",i[a].start,i[a].end1);*/ int x=i[0].start,y=i[0].end1; for(int a = 1;a < n;a ++) { if(i[a].start>=x&&i[a].start<=y) { if(i[a].end1>y) y=i[a].end1; } else { printf("%d %d\n",x,y); x=i[a].start; y=i[a].end1; } } printf("%d %d\n",x,y); return 0;}
- POJ-1089-Intervals(贪心)
- poj 1089 Intervals 简单贪心
- POJ 1089 Intervals 区间覆盖+ 贪心
- POJ 1716 Integer Intervals(贪心)
- [POJ 1201] Intervals (区间贪心选点)
- 【Poj】-1716-Integer Intervals(贪心)
- POJ:1716 Integer Intervals(贪心)
- poj 1716 贪心 Integer Intervals
- poj 1716 Integer Intervals (贪心)
- Intervals+线段树+贪心+poj
- POJ 1716 Integer Intervals(贪心 | 查分约束)
- (Relax 贪心1.7)POJ 1716 Integer Intervals
- poj 1201 Intervals 线段树+贪心
- poj1716 Integer Intervals(贪心)
- poj1716 Integer Intervals(贪心)
- ZOJ 3953 Intervals (贪心)
- poj 1089 Intervals(区间合并问题)
- poj 1089 Intervals
- 2017第三次多校联合hdu6058
- MyBatis对整合多个表的类的操作
- C#数组详细介绍
- fork()时缓冲区注意事项
- A Bug's Life HDU
- POJ-1089-Intervals(贪心)
- linux软链接和硬链接详解及扩散式学习总结
- Hibernate学习之---深入Hibernate配置文件
- 合纵连横 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 乱世天下,诸侯割据。每个诸侯王都有一片自己的领土。但是不是所有的诸侯王都是安分守己的,实力强大的诸侯国会设法吞并
- hdu2041
- 训练总结 8.4
- SpringBoot手动事物工具类封装
- 暑假训练第5天总结
- 接口的实例化问题,多态,以及new关键字