Олимпиадный тренинг

Задача . A. Найти K различных точек с фиксированным центром


Я не смог придумать хорошее название для этой задачи, поэтому решил поучиться у LeetCode.
— Сунь-Цзы, Искусство войны

Вам даны три целых числа \(x_c\), \(y_c\) и \(k\). (\(-100 \leq x_c, y_c \leq 100\), \(1 \leq k \leq 1000\)).

Найдите такой набор из \(k\) различных точек (\(x_1, y_1\)), (\(x_2, y_2\)), \(\ldots\), (\(x_k, y_k\)) с целочисленными координатами на двумерной координатной плоскости, такой, что

  • центр\(^{\text{∗}}\) этого набора имеет координаты (\(x_c, y_c\)).
  • \(-10^9 \leq x_i, y_i \leq 10^9\) для всех \(i\) от \(1\) до \(k\)

Можно доказать, что всегда существует хотя бы один набор из \(k\) различных точек, удовлетворяющий этим условиям.

\(^{\text{∗}}\)Центром набора из \(k\) точек (\(x_1, y_1\)), (\(x_2, y_2\)), \(\ldots\), (\(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\) (\(1 \leq t \leq 100\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

Каждый набор входных данных содержит три целых числа \(x_c\), \(y_c\) и \(k\) (\(-100 \leq x_c, y_c \leq 100\), \(1 \leq k \leq 1000\)) — координаты центра и количество различных точек, которое необходимо вывести.

Гарантируется, что сумма \(k\) по всем наборам входных данных не превосходит \(1000\).

Выходные данные

Для каждого набора входных данных выведите \(k\) строк, где \(i\)-я строка содержит два разделенных пробелом целых числа \(x_i\) и \(y_i\) (\(-10^9 \leq x_i, y_i \leq 10^9\)) — положение \(i\)-й точки.

Если ответов несколько, выведите любой из них. Можно показать, что при заданных ограничениях решение всегда существует.

Примечание

В первом наборе входных данных \(\left( \frac{10}{1}, \frac{10}{1} \right) = (10, 10)\).

Во втором наборе входных данных \(\left( \frac{-1 + 5 - 4}{3}, \frac{-1 -1 + 2}{3} \right) = (0, 0)\).


Примеры
Входные данныеВыходные данные
1 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

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя