通过率 76% · 提交 140 · 通过 107
在魔法世界的棋盘上,棋盘的左下角坐标为 [0, 0],右上角坐标为 [7, 7]。每个棋盘上的点可以用坐标 (x, y) 表示。 棋盘上已经标记了两个魔法点 p1 和 p2。你的任务是寻找一个第三个魔法点 p3,使得这三个点能够,并满足以下特殊规则: 1. 直线规则:三点必须形成以下四种直线之一: - 横线:平行于 x 轴。 - 竖线:平行于 y 轴。 - 斜线:以 45° 或 135° 角倾斜。 2. :三点在棋盘上形成的直线段必须连续。即,三个点在直线上的位置之间不能有其他未被标记的点间隔。 3. 坐标优先级:如果有多个符合条件的点,选择的点作为结果: - 优先选择 x 最小的点; - 如果 x 相等,则选择 y 最小的点。 如果无法找到符合条件的点,则输出 -1 -1。 输入:输入共四行: 1. 前两行包含两个整数 x1 和 y1,表示魔法点 p1 的坐标。 2. 后两行包含两个整数 x2 和 y2,表示魔法点 p2 的坐标。 保证输入点均在棋盘范围内 0 <= x, y <= 7,且 p1 和 p2 互不相同。 输出:输出两个整数 x3 y3,表示找到的第三个点的坐标。如果无法找到符合条件的点,则输出 -1 -1。
这类题属于华为可信认证科目一方向中「排序 / 可信」方向的高频题型,通常考察对「排序 / 可信」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入共四行:
x1 和 y1,表示魔法点 p1 的坐标。x2 和 y2,表示魔法点 p2 的坐标。保证输入点均在棋盘范围内 0 <= x, y <= 7,且 p1 和 p2 互不相同。
输出两个整数 x3 y3,表示找到的第三个点的坐标。如果无法找到符合条件的点,则输出 -1 -1。
示例 1
输入示例
1 0 2 0
输出示例
0 0
点 [0, 0] 和 [3, 0] 都可以使三点在同一直线上并且相邻。但 [0, 0] 坐标最小,因此选择 [0, 0]。
示例 2
输入示例
1 0 7 3
输出示例
-1 -1
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有