ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Выбрана 1 задача
Версия для печати
Убрать все задачи

Набор домино состоит из прямоугольных костяшек, каждая из которых разделена на две половинки линией, параллельной более короткой стороне. На каждой из половинок нарисованы точки, количество которых соответствует числу от 0 до M включительно. На костяшках полного набора домино обозначены все возможные различные пары чисел, например, если M равно 3, то полный набор содержит 10 костяшек: (0, 0), (0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3).

Из костяшек можно выкладывать цепочки, соединяя пары костяшек короткими сторонами, если количества точек на соседних с местом соединения половинках костяшек равны.

Некоторые костяшки были удалены из полного набора. Требуется определить, какое минимальное количество цепочек нужно выложить из оставшихся в наборе костяшек, чтобы каждая из них принадлежала ровно одной цепочке.

Задание

Напишите программу DOMINO, которая по информации о наборе домино должна ответить, какое минимальное количество цепочек нужно выложить.

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

В первой строке входного файла DOMINO.DAT содержится одно целое число M (0≤M?100), которое соответствует максимально возможному количеству точек на половинке костяшки. Во второй строке записано одно целое число N, равное количеству костяшек, удаленных из полного набора. Каждая i-я из последующих N строк содержит по два числа Ai и Bi. Это количества точек на половинках i-й удалённой костяшки.

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

Единственная строка выходного файла DOMINO.SOL должна содержать одно целое число L - минимальное количество цепочек.

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

DOMINO.DAT

DOMINO.SOL

7

2

7 5

3 4

2

   Решение

Задача 66628
Тема:    [ Инварианты ]
Сложность: 2+
Классы: 6,7,8
В корзину
Прислать комментарий

Условие

Автор: Фольклор

У Ильи есть табличка $3\times 3$, заполненная числами от $1$ до $9$ так, как в таблице слева. За один ход Илья может поменять местами любые две строчки или любые два столбца. Может ли он за несколько ходов получить таблицу справа?

1 2 3
4 5 6
7 8 9
1 4 7
2 5 8
3 6 9


Решение

Заметим, что как при перемене двух строк местами, так и при перемене двух столбцов местами числа 1 и 2 остаются в одной строке. Во второй таблице это не так, поэтому получить её Илье не удастся.

Ответ

Нет, не может.

Замечания

Можно заметить, что при описанных действиях наборы чисел в строках и столбцах не меняются, т.е. в какой-то строке всегда в некотором порядке будут числа 1, 2, 3, в другой — 4, 5, 6, в третьей — 7, 8, 9. Величина (обычно, числовая, но бывает и иначе), которая не меняется в ходе некоторого процесса, называется инвариантом.

Про инварианты можно почитать, например, в статье Ю. Ионина, Л. Курляндчика “Поиск инварианта” (журнал Квант, 1976 г., № 2).

Источники и прецеденты использования

олимпиада
Название Турнир им.Ломоносова
номер/год
Год 2019
задача
Номер 3

© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .