P1105 平台
创始人
2024-11-06 07:38:15

平台

题目描述

空间中有一些平台。给出每个平台的位置,请你计算从每一个平台的边缘落下之后会落到哪一个平台上。

注意,如果某两个平台的某个两边缘横坐标相同,物体从上面那个平台落下之后将不会落在下面那个平台上(即平台的范围是一个开区间,不包含端点)。平台可能会重叠

从平台下落时视作从平台下方开始下落,也就是说不会落到高度相同的平台上。如果有两个平台的高度相同且都可以被落到的话,那么会落到编号靠前的那个平台。

输入格式

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

接下来 N N N 行每行三个整数 分别是平台的高度 H i H_i Hi​,左端点的 X X X 坐标 L i L_i Li​,右端点的 X X X 坐标 R i R_i Ri​。

其中, 1 ≤ N ≤ 10 3 1 \le N \le {10}^3 1≤N≤103, 0 ≤ H , L , R ≤ 2 × 10 4 0 \le H,L,R \le 2 \times {10}^4 0≤H,L,R≤2×104。

输出格式

输出共 N N N 行,每行两个数,分别表示:

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

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

样例 #1

样例输入 #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 using namespace std; int n,a[1001],b[1001],c[1001]; int main(){ 	cin>>n; 	for(int i=1;i<=n;i++)cin>>a[i]>>b[i]>>c[i]; 	for(int i=1;i<=n;i++){ 		int sum1=0,sum2=0; 		for(int j=1;j<=n;j++)if(a[j]b[i])if(a[sum1]c[i])if(a[sum2]

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...