Codeforces Round 957 (Div. 3) |
---|
Закончено |
Одна из первых задач K1o0n по программированию выглядела так: «У Noobish_Monk есть $$$n$$$ $$$(1 \le n \le 100)$$$ друзей. На день рождения каждый из них подарил $$$a$$$ $$$(1 \le a \le 10000)$$$ яблок. Обрадовавшись такому подарку, Noobish_Monk вернул $$$b$$$ $$$(1 \le b \le \min(10000, a \cdot n))$$$ яблок друзьям. Сколько яблок осталось у Noobish_Monk?»
K1o0n написал решение, но случайно считал значение $$$n$$$ как строку, поэтому значение $$$n \cdot a - b$$$ было посчитано по-другому. Конкретно:
Узнав об этом, ErnKor стало интересно, сколько для данного $$$n$$$ существует пар $$$(a, b)$$$, удовлетворяющих ограничениям задачи, на которых решение K1o0n выдаёт правильный ответ.
«Решение выдаёт правильный ответ» означает, что оно выводит непустую строку, и эта строка при переводе в целое число равна правильному ответу, то есть значению $$$n \cdot a - b$$$.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 100$$$) — количество наборов входных данных.
В единственной строке каждого набора входных данных вводится целое число $$$n$$$ ($$$1 \le n \le 100$$$)
Гарантируется, что во всех наборах данных $$$n$$$ различны.
Для каждого набора входных данных выведите ответ в следующем формате:
В первой строке выведите число $$$x$$$ — количество плохих тестов для заданного $$$n$$$.
В следующих $$$x$$$ строках выведите по два числа $$$a_i$$$ и $$$b_i$$$ — такие числа, что решение K1o0n выдает на тест «$$$n$$$ $$$a_i$$$ $$$b_i$$$» выдаёт правильный ответ.
32310
3 20 18 219 216 2218 2214 1 165 162 1 1262 2519
В первом примере $$$a = 20$$$, $$$b = 18$$$ подходят, так как «$$$\text{2}$$$» $$$\cdot 20 - 18 =$$$ «$$$\text{22222222222222222222}$$$» $$$- 18 = 22 = 2 \cdot 20 - 18$$$
Название |
---|