一、题目描述
AI识别到面板上有N(1 ≤ N ≤ 100)个指示灯,灯大小一样,任意两个之间无重叠。
由于AI识别误差,每次别到的指示灯位置可能有差异,以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2,y2),
请输出先行后列排序的指示灯的编号,排序规则:
- 每次在尚未排序的灯中挑选最高的灯作为的基准灯,
- 找出和基准灯属于同一行所有的灯进行排序。两个灯高低偏差不超过灯半径算同一行(即两个灯坐标的差 ≤ 灯高度的一半)。
二、输入描述
第一行为N,表示灯的个数
接下来N行,每行为1个灯的坐标信息,格式为:编号 x1 y1 2 y2
- 编号全局唯一
- 1 ≤ 编号 ≤ 100
- 0 ≤ x1 < x2 ≤ 1000
- 0 ≤ y1 < y2 ≤ 1000
三、输出描述
排序后的编号列表,编号之间以空格分隔。
四、测试用例
测试用例1
1、输入
3
1 1 1 3 3
2 4 1 6 3
3 7 1 9 3
2、输出
1 2 3
该博客介绍了华为在线开发者测评(OD)中的一道AI面板识别题目,涉及Java实现。博主详细解析了题意,输入输出描述,并提供了解题思路和完整的Java算法源码。通过先行后列的排序规则,对指示灯的位置进行排序,确保相邻灯在同一行且高低偏差不超过灯半径。文章最后展示了输入、输出示例及控制台输出结果。
订阅专栏 解锁全文
1588





