CF2026A.Perpendicular Segments

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Perpendicular Segments

题目描述

给定一个坐标平面和三个整数 XX、YY、KK。请你找到两条线段 ABAB 和 CDCD,使得:

  1. 点 AA、BB、CC、DD 的坐标均为整数;
  2. 0≤Ax,Bx,Cx,Dx≤X0 \leq A_x, B_x, C_x, D_x \leq X 且 0≤Ay,By,Cy,Dy≤Y0 \leq A_y, B_y, C_y, D_y \leq Y;
  3. 线段 ABAB 的长度至少为 KK;
  4. 线段 CDCD 的长度至少为 KK;
  5. 线段 ABAB 和 CDCD 两两垂直:即如果画出包含 ABAB 和 CDCD 的直线,这两条直线会以直角相交。

注意,线段不需要相交。只要它们所在的直线互相垂直即可。

输入格式

第一行包含一个整数 tt(1≤t≤50001 \leq t \leq 5000),表示测试用例的数量。接下来有 tt 组测试数据。

每组测试数据包含一行,包含三个整数 XX、YY、KK(1≤X,Y≤10001 \leq X, Y \leq 1000;1≤K≤14141 \leq K \leq 1414)。

输入有额外保证:XX、YY、KK 的取值方式保证一定存在解。

输出格式

对于每组测试数据,输出两行。

第一行输出 44 个整数 AxA_x、AyA_y、BxB_x、ByB_y,表示第一条线段的两个端点坐标。

第二行输出 44 个整数 CxC_x、CyC_y、DxD_x、DyD_y,表示第二条线段的两个端点坐标。

如果有多组解,输出任意一组均可。

说明/提示

第一组测试数据的答案如下:

第二组测试数据的答案如下:

第三组测试数据的答案如下:

第四组测试数据的答案如下:

由 ChatGPT 4.1 翻译

样例

4
1 1 1
3 4 1
4 3 3
3 4 4
0 0 1 0
0 0 0 1
2 4 2 2
0 1 1 1
0 0 1 3
1 2 4 1
0 1 3 4
0 3 3 0

在线编程 IDE

建议全屏模式获得最佳体验