print1445. Беговые дорожки

printБеговые дорожки

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Между `n` спортсменами организуется соревнование по бегу. К сожалению, в распоряжении организаторов имеется стадион лишь с `n\ -\ 1` беговой дорожкой, поэтому одновременно могут состязаться только `n\ -\ 1` из `n` участников. По этой причине соревнования разбиваются на несколько забегов.
Правила соревнований требуют, чтобы каждый из бегунов:
  • принимал участие в одинаковом числе забегов,
  • бежал на каждой из дорожек одинаковое число раз,
  • соревновался с любым из остальных одно и то же число раз.
Кроме того, некоторые пары спортсменов во избежание конфликтов нельзя выставлять на соседние дорожки в забеге. При этом у каждого из участников есть не более одного "неприятного" ему конкурента, и чувство антипатии является взаимным.
Требуется по заданному числу спортсменов, а также списку их антипатий, составить расписание забегов, удовлетворяющее требованиям организаторов. Гарантируется, что решение существует. При наличии нескольких решений, допустимо любое из них.
Формат входного файла
В первой строке входного файла находятся целые числа `n\ m`. В следующих `m` строках записаны пары чисел – номера спортсменов, которых нельзя ставить на соседние дорожки в одном забеге. Спортсмены нумеруются натуральными числами от 1 до `n`.
Формат выходного файла
Первая строка выходного файла должна содержать число забегов `r` в предлагаемой схеме. Следующие `r` строк должны состоять из `n\ -\ 1` числа – номеров спортсменов, выставляемых на дорожки в каждом из забегов.
Ограничения
`2\ ≤\ n\ ≤\ 100`, `1\ ≤\ r\ ≤\ 1000`.

Пример ввода

4 1
2 3

Пример вывода

4
4 2 1
1 3 4
2 1 3
3 4 2
Источник: Отборочные соревнования ВКОШП Дальневосточного региона, 2009
loading