CF1998A.Find K Distinct Points with Fixed Center

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

Find K Distinct Points with Fixed Center

题目描述

我没能给这道题想出一个好的标题,所以我决定去力扣学习。

——《孙子兵法》

给你三个整数 xcx_cycy_ckk100xc,yc100 -100 \leq x_c, y_c \leq 100 , 1k1000 1 \leq k \leq 1000 )。

在一个 2D 平面上,你需要找到 kk不同的具有整数坐标的点 ( x1,y1 x_1, y_1 ), ( x2,y2 x_2, y_2 ), \ldots , ( xk,yk x_k, y_k ),满足:

  • 它们的中心 ^{\text{∗}} 为 ( xc,yc x_c, y_c )。
  • 11kk,对于每一个 ii,都有 109xi,yi109 -10^9 \leq x_i, y_i \leq 10^9

可以证明至少有一组 kk 个不同的点满足以上条件。

^{\text{∗}} 任意 k k 个点 ( x1,y1 x_1, y_1 ), ( x2,y2 x_2, y_2 ), \ldots , ( xk,yk x_k, y_k ) 的中心是 $\left( \frac{x_1 + x_2 + \ldots + x_k}{k}, \frac{y_1 + y_2 + \ldots + y_k}{k} \right)$。

输入格式

第一行包含一个正整数 t t ( 1t100 1 \leq t \leq 100 ),表示测试数据的组数。

每组测试数据包含三个整数 xc x_c , yc y_c k k ( 100xc,yc100 -100 \leq x_c, y_c \leq 100 , 1k1000 1 \leq k \leq 1000 ) 表示中心的坐标和你需要找到不同点的个数。

保证 k k 的总和不超过 1000 1000

输出格式

对于每一个测试点,输出 k k 行,第 i i 行包含两个以空格分隔的整数,xi x_i yi y_i ,( 109xi,yi109 -10^9 \leq x_i, y_i \leq 10^9 ),表示第 ii 个点的坐标。

如果有多个答案,输出任意一个即可。可以证明在给定条件下必然有解。

说明/提示

对于第一组测试数据,$\left( \frac{10}{1}, \frac{10}{1} \right) = (10, 10)$ .

对于第二组测试数据,$\left( \frac{-1 + 5 - 4}{3}, \frac{-1 -1 + 2}{3} \right) = (0, 0)$ .

翻译:@imnotcfz

样例

4
10 10 1
0 0 3
-5 -8 8
4 -5 3
10 10
-1 -1
5 -1
-4 2
-6 -7
-5 -7
-4 -7
-4 -8
-4 -9
-5 -9
-6 -9
-6 -8
1000 -1000
-996 995
8 -10

在线编程 IDE

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