#4459. 坐标整理员

坐标整理员

题目背景:

在一场机器人竞速大赛中,主控系统需要在平面地图上记录各个机器人出现的位置。 为了便于后续的路径规划分析,系统要求将所有坐标点按照一定的顺序整理输出: 首先按照横坐标从小到大排列;若横坐标相同,则按纵坐标从小到大排列。

你的任务是编写一个程序,帮助系统完成这项排序工作。


题目描述:

给定 nn 个不同的坐标点 (xi,yi)(x_i, y_i),请将这些坐标点按如下规则排序并输出:

  1. xi<xjx_i < x_j,则 (xi,yi)(x_i, y_i) 排在 (xj,yj)(x_j, y_j) 之前;
  2. xi=xjx_i = x_j,则按照 yi<yjy_i < y_j 的顺序排列。

输入格式:

输入的第一行包含一个整数 nn1n1041 \leq n \leq 10^4),表示坐标点的个数。 接下来 nn 行,每行包含两个整数 xi,yix_i, y_i104xi,yi104-10^4 \leq x_i, y_i \leq 10^4),表示一个坐标点。


输出格式:

输出 nn 行,每行两个整数,表示按要求排序后的坐标点。


样例输入:

4
-1 -1
1 1
-1 1
1 -1

样例输出:

-1 -1
-1 1
1 -1
1 1

样例输入:

5
0 0
0 -1
1 2
-2 3
-2 -5

样例输出:

-2 -5
-2 3
0 -1
0 0
1 2

数据范围与提示:

  • 所有坐标点保证互不相同。