题目描述

空间中有一些平台。给出每个平台的位置,请你计算从每一个平台的边缘落下之后会落到哪一个平台上。注意,如果某两个平台的某个两边缘横坐标相同,物体从上面那个平台落下之后将不会落在下面那个平台上。平台不会重叠,不会有两个平台的边缘碰在一起。

输入输出格式

输入格式:

第一行有一个数N表示平台的个数;

接下来N行每行3个整数 分别是平台的高度H[i],左端点的X坐标L[i],右端点的X坐标R[i].

其中,1<=N<=1000 0<=H,L,R<=20000。

输出格式:

输出共N行 每行2个数 分别是

从第i个平台的左边缘落下后到达的平台序号 和 右边缘落下以后到达的平台序号。

输入数据中第一个平台的序号是1。如果某个平台的某个边缘下面没有平台了,输出0。

输入输出样例

输入样例#1: 复制

5
2 0 2
4 1 3
3 1 3
5 3 4
1 1 5
输出样例#1: 复制

0 5
1 5
1 5
5 5
0 0

说明

思路:贪心。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n;
struct nond{
int h,l,r,id,ansl,ansr;
}v[];
int cmp(nond a,nond b){
if(a.h==b.h) return a.l<b.l;
return a.h>b.h;
}
int cmp1(nond a,nond b){
return a.id<b.id;
}
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d%d%d",&v[i].h,&v[i].l,&v[i].r);
v[i].id=i;
}
sort(v+,v++n,cmp);
for(int i=;i<=n;i++){
for(int j=i+;j<=n;j++){
if(v[i].ansl&&v[i].ansr) break;
if(!v[i].ansl&&v[j].l<v[i].l&&v[j].r>v[i].l) v[i].ansl=v[j].id;
if(!v[i].ansr&&v[j].l<v[i].r&&v[j].r>v[i].r) v[i].ansr=v[j].id;
}
}
sort(v+,v++n,cmp1);
for(int i=;i<=n;i++)
cout<<v[i].ansl<<" "<<v[i].ansr<<endl;
}

最新文章

  1. PyVISA介绍
  2. UVa 297 Quadtrees -SilverN
  3. WM_SETFOCUS和WM_KILLFOCUS、WM_GETDLGCODE、CM_ENTER...
  4. hadoop环境搭建笔记
  5. 如何编写一个简单的makefile
  6. android anim 动画效果
  7. SELECT 场 FROM 表 WHERE 字段 Like 条件
  8. 十、Python练习----基础搭建飞机大战
  9. 2、Libgdx配置你的开发环境(Eclipse,Intellij IDEA,NetBeans)
  10. 集合源码分析[3]-ArrayList 源码分析
  11. 使用synchronized的几种场景
  12. Xamarin.Android ImageView 图片圆角显示
  13. CentOS TinyProxy http(s)上网代理及置代理上网的方法
  14. 论文阅读笔记二十六:Fast R-CNN (ICCV2015)
  15. 基于CSS属性display:table的表格布局的使用
  16. 【转载】 强化学习(八)价值函数的近似表示与Deep Q-Learning
  17. Login case
  18. bzoj1594 Pku3764 The xor-longest Path
  19. (转)C#中base关键字的几种用法
  20. JAVA虚拟机关闭钩子(Shutdown Hook)

热门文章

  1. 二叉查找树BST 模板
  2. HDU-1878 欧拉回路 欧拉回路
  3. HDU-1069 Monkey and Banana DAG上的动态规划
  4. BZOJ 3626 LCA(离线+树链剖分+差分)
  5. laravel中soapServer支持wsdl的例子
  6. MySql中允许远程连接
  7. Nrf51822中设置128bit UUID service
  8. hdu1280 前m大的数(数组下标排序)
  9. FZU--2188--过河(bfs暴力条件判断)
  10. 14.idea右键单击没有 svn选项处理办法