Республиканская олимпиада по информатике. 2018 год
Задача D. Разница
Ограничение по времени:
1 секунда
Ограничение по памяти:
256 мегабайт
У вас есть мультимножества S. Разница мультимножества и множества состоит в том, что в мультимножестве одно и то же число может содержаться несколько раз, а в множестве — только один раз. Изначально, в мультимножестве содержатся все целые числа от 1 до n по одному разу. За одну операцию вы можете убрать два числа a и b из мультимножества и добавить их абсолютную разницу |a - b|. Вы хотите выполнить некоторые операции так, чтобы в мультимножестве было только одно число x.
Формат входного файла
В первой строке входных данных задается одно целое число T (1≤T≤100) — количество тестов. В следующих T строках задаются по два целых числа n и x (2≤n≤105,0≤x≤n) — описание теста. Сумма всех n по всем тестам не превышает 5⋅105.
Формат выходного файла
Для каждого теста выведите "NO" (без кавычек), если невозможно получить x. Иначе, для этого теста выведите "YES" (без кавычек) и в следующих n-1 строках выведите операции в порядке их выполнения. Для каждой операции выведите два целых числа a и b числа, которые выбираются с текущего мультимножества.
Система оценки
Данная задача содержит четыре подзадачи, в каждой подзадаче выполняются ограничения из условий:
- 2≤n≤4. Оценивается в 12 баллов.
- n-нечетное и x=(n+1)/2. Оценивается в 15 баллов.
- 0≤x≤1. Оценивается в 23 баллов.
- 2≤n≤105. Оценивается в 50 баллов.
Пример:
Вход 2 5 1 5 0Ответ
YES 2 3 4 5 1 1 1 0 NO( Yerzhan Utkelbayev )
Комментарий/решение:
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.