AlgoMooc
← 返回题库

P2568. AI面板识别

中等通过率 64% · 提交 135 · 通过 87
排序模拟枚举

小慕在项目中遇到了一个AI识别指示灯的问题。面板上一共有N(1 ≤ N ≤ 100)个指示灯,每个灯大小相同,且任意两个灯之间没有重叠。 由于AI识别存在误差,每次识别到的指示灯位置可能略有不同,每个灯用4个坐标值来描述其大小和位置(左上角x1, y1,右下角x2, y2)。小慕需要按照先行后列的顺序输出这些指示灯的编号,排序规则如下: 1. 每次在尚未排序的灯中,挑选出最高的灯作为。 2. 找出所有与基准灯属于同一行的灯,并对它们进行排序。两个灯是否属于同一行,由它们的高低偏差是否不超过灯的半径来决定(即两个灯的y坐标差 ≤ )。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行为N,表示灯的个数 接下来N行,每行为1个灯的坐标信息,格式为: 编号 x1 y1 x2 y2 - 编号全局唯一 - 1 <= 编号 <= 100 - 0 <= x1 < x2 <= 1000 - 0 <= y1 < y2 <= 1000

输出描述

排序后的编号列表,编号之间以空格分隔。

示例

示例 1

输入

5
1 0 0 2 2
2 6 1 8 3
3 3 2 5 4
5 5 4 7 6
4 0 4 2 6

输出

1 2 3 4 5

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。