[ICPC2022 Jinan R] Grid Points
题意翻译
## 题目描述
在笛卡尔平面的第一个象限中,您会得到一个简单的多边形。这意味着多边形中任何点的坐标$(x,y)$满足$x>0$和$y>0$。
考虑多边形中的所有网格点。按\textbf{斜率}的递增顺序排列。按此顺序输出第$k$个网格点。
网格点是一个点$(x,y)$,使得$x$和$y$是整数。多边形边界上的一个点被认为在多边形中。点$(x,y)$的斜率为$y/x$。如果两个点具有相同的斜率,则它们首先按字典顺序排列$x$,然后按$y$。换句话说,如果$(x_1<x_2)\vee(x_1=x_2\wedge y_1<y_2)$,则点$(x_1,y_1)$在字典上小于$(x_2,y_2)。
## 输入格式
第一行包含一个整数$T~(1\le T\le 500)$,即测试用例的数量。
对于每个测试用例,第一行包含两个整数$n,k~(n\ge 3,1\le k)$。接下来的每一条$n$线都描述了多边形的一个顶点。每个顶点由两个整数$x,y~(1\le x,y\le 10^9)$表示,表示其坐标$(x,y)$。顶点按逆时针顺序排列。
保证多边形是简单的,即顶点是不同的,两条边只有在边界上连续时才能重叠,并且重叠恰好包含$1$点。可以保证$k$不超过多边形中的网格点数。
保证所有测试用例的总金额不超过2000美元。
## 输出格式
对于每个测试用例,在一行中输出两个整数$x,y$,表示第$k$个网格点的坐标$(x,y)$。
## 输入输出样例
### 输入 #1
```
4
3 3
1 1
3 1
3 3
4 5000000000000000
1 1
1000000000 1
1000000000 1000000000
100000000
9 22
9 6
6 7
9 7
10 10
6 9
3 9
1 6
1 5
7 3
5 22447972861454999
270353376 593874603
230208698 598303091
237630296 255016434
782669452 568066304
654623868 958264153
```
### 输出 #1
```
3 2
500000000 500000000
7 8
730715389 644702744
```
题目描述
You are given a simple polygon in the first quadrant of the Cartesian plane. This means that the coordinate $(x, y)$ of any point in the polygon satisfies $x> 0$ and $y> 0$.
Consider all grid points in the polygon. Order them in increasing order of \textbf{slopes}. Output the $k$-th grid point in this order.
A grid point is a point $(x, y)$ such that $x$ and $y$ are integers. A point on the boundary of a polygon is considered to be in the polygon. The slope of point $(x, y)$ is $y/x$. If two points have the same slope, they are ordered lexicographically first by $x$, then by $y$. In other words, a point $(x_1, y_1)$ is lexicographically less than $(x_2, y_2)$ if $(x_1<x_2)\vee (x_1=x_2 \wedge y_1<y_2)$.
输入输出格式
输入格式
The first line contains one integer $T~(1\le T \le 500)$, the number of test cases.
For each test case, the first line contains two integers $n, k~(n\ge 3, 1\le k)$. Each of the next $n$ lines describes a vertex of the polygon. Each vertex is denoted by two integers $x, y~(1\le x, y\le 10^9)$, representing its coordinate $(x, y)$. The vertices are given in counterclockwise order.
It is guaranteed that the polygon is simple, i.e.~ the vertices are distinct, two edges may overlap only when they are consecutive on the boundary, and the overlap contains exactly $1$ point. It is guaranteed that $k$ is no more than the number of grid points in the polygon.
It is guaranteed that the sum of $n$ over all test cases is no more than $2000$.
输出格式
For each test case, output two integers $x, y$ in one line representing the coordinate $(x, y)$ of the $k$-th grid point.
输入输出样例
输入样例 #1
4
3 3
1 1
3 1
3 3
4 500000000000000000
1 1
1000000000 1
1000000000 1000000000
1 1000000000
9 22
9 6
6 7
9 7
10 10
6 9
3 9
1 6
1 5
7 3
5 22447972861454999
270353376 593874603
230208698 598303091
237630296 255016434
782669452 568066304
654623868 958264153
输出样例 #1
3 2
500000000 500000000
7 8
730715389 644702744