Набор домино состоит из прямоугольных костяшек, каждая из которых разделена на две половинки линией, параллельной более короткой стороне. На каждой из половинок нарисованы точки, количество которых соответствует числу от 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 , которая по информации о наборе домино должна ответить, какое минимальное количество цепочек нужно выложить.
Половинки — Выпуск 2 — 29.09.2015
В первой строке входного файла DOMINO.DAT содержится одно целое число M (0≤ M ?100), которое соответствует максимально возможному количеству точек на половинке костяшки. Во второй строке записано одно целое число N , равное количеству костяшек, удаленных из полного набора. Каждая i -я из последующих N строк содержит по два числа A i и B i . Это количества точек на половинках i -й удалённой костяшки.
Единственная строка выходного файла DOMINO.SOL должна содержать одно целое число L — минимальное количество цепочек.
Пример входных и выходных данных
DOMINO.DAT
DOMINO.SOL
2
Также доступны документы в формате DOC
Решение
Решения членов жюри Всеукраинской олимпиады
Тесты
· Представим себе неориентированный граф с ( M +1) вершинами, помеченными числами от 0 до M . Ребра этого графа соответствуют костяшкам домино.
· Очевидно, что ребра из разных компонент связности не могут находиться в одной цепочке, поэтому для начала разделим граф на компоненты связности. Также из графа следует удалить компоненты, не содержащие ребер (отдельные вершины).
· В каждой компоненте связности считаем K — количество вершин с нечетной степенью (нечетных вершин). Минимальное количество цепочек в этой компоненте равняется 1, если K =0 , и K /2 , если K >0 . Суммарное количество цепочек равняется сумме K по всем компонентам связности.
Доказательство
· Эйлер доказал, что, если в связном неориентированном графе все вершины имеют четные степени, то, начав из любой вершины, можно обойти все ребра и вернуться в исходную вершину, т.е. построить Эйлеров цикл.
· Представим себе связный неориентированный граф с K нечетными вершинами, K >0 . Докажем, что этот граф можно разложить на K /2 цепей, так что каждое ребро графа будет принадлежать ровно одной.
· Начнем строить одну цепь с любой нечетной вершины, проходя по любым еще не пройденным ребрам. Очевидно, что эта цепь закончится в другой нечетной вершине. Запомним эту цепь и удалим ее ребра из графа. При этом количество нечетных вершин уменьшится на 2 — это начальная и конечная вершины полученной цепи.
Половинки. Сезон 3. Выпуск 7. 10.10.2017
· Если после удаления цепи граф разделился на несколько компонент связности, то в каждой компоненте осталось четное количество нечетных вершин.
· Аналогичным образом строим и удаляем цепи, пока не закончатся нечетные вершины. Всего цепей — K /2 . После этого оставшийся граф состоит из нескольких компонент связности, и в нем отсутствуют нечетные вершины.
· Далее среди запомненных находим любую цепочку, содержащую вершину, у которой остались инцидентные ребра в оставшемся графе. Согласно Эйлеру, начиная с этой вершины и заканчивая в ней, можно обойти все ребра соответствующей ей компоненты связности оставшегося графа. Поэтому вставляем эту компоненту целиком в найденную цепочку на место рассматриваемой вершины и удаляем ее из графа.
· Действуем аналогичным образом, пока можем найти такую цепочку. Если цепочка не найдена, а в графе еще остались ребра, значит, исходный граф был несвязным, что противоречит условию.
· Если ребер в графе не осталось, то цепочек, удовлетворяющих указанному условию больше нет. Итог: цепочек K /2 , каждое ребро исходного графа входит ровно в одну цепочку, ЧИТД.
Также доступны документы в формате DOC
Источники и прецеденты использования
олимпиада | |
предмет | информатика |
Название | Всеукраинская олимпиада по информатике |
год | |
Год | 2005 |
задача | |
Номер | 5 |
Проект осуществляется при поддержке и .
Источник: problems.ru
Половинки — отзыв
Половинки — способ найти любовь или просто пиар?+Обновление обзор спец-выпуска (отношения героев после передачи)+новости про 2 сезон
Шоу Половинки
Об этом шоу я узнала от знакомых, решила посмотреть пару выпусков, чтобы дать собственную оценку увиденному (и пожалела о принятом решении)
Смысл передачи
Романтичный проект и уникальные герои, которых общество не хочет вписывать в общепринятые нормы и тем самым лишает их возможности найти свою половинку, быть любимым. Создатели проекта исправят это, найдут для каждого героя действительно родственную душу и устроят свидание мечты, которое может навсегда изменить их судьбу. В каждом выпуске – три героя, у каждого из которых будет по два свидания, чтобы понять, подходят ли герой или героиня друг другу.
В проекте не будет ведущего, но будут эксперты, задача которых – помочь им.
В шоу будет символ. Кулон в виде сердечка, разделенного надвое. Если герои найдут свою любовь – разделят его с избранником или избранницей.
Ну вроде все понятно — это что-то вроде брачного агенства. Подбирают пару, идешь на свидание и принимаешь решение. Таких передач было уже много. Что же отличает эту передачу?
Начнем по порядку
Ведущие, эксперты.
Натальи Холоденко и Бориса Пахоля
Эксперты передачи
Их задачи: познакомиться с героем, подобрать ему пару, вести героя на протяжении передачи (помощь советом, действием).
Герои
Я думаю, вот главное отличие. В этой передаче учавствуют инвалиды, люди с излишним весом, альбиносы, просто скромные люди, имеющие проблемы в общении, и многие другие. Некоторые серии действительно получились трогательными и светлыми.
Девушка с дцп
Очаровательная девушка маленького роста
Парень — альбинос
Но. Я не понимаю, зачем надо было в передачу звать людей, откровенно пришедших туда за славой? Отлично, они пропиарились, но смотреть «Половинки» из-за них почти невозможно.
Если герои найдут свою любовь – разделят его (кулон) с избранником или избранницей.
В знак того, что они готовы начать отношения друг с другом, они должны обменяться кулончиками с именами.
Кулоны — символы передачи
Мое мнение
Идея была хорошая, а реализация подкачала. Где-то видно откровенную постановку, где-то просто неприятно смотреть на фриков и людей, идущих на любую передачу, лишь бы побыть в телевизоре.
Количество нелицеприятного затмевает хорошие, трогательные моменты в передаче.
Музыка(!)
Вот, что в этом шоу прекрасно. В передаче есть красивые съемки, которые сопровождаются великолепной музыкой.
В целом, не думаю, что передача необходима к просмотру, может подойти, если у вас был сложный день и вы хотите отвлечься.
*********Обновление!**********
Ко Дню всех влюбленных (14.02.16) нас решили порадовать и показать спец-выпуск шоу «Половинки». Здесь нам расскажут как сложились отношения героев после проекта.
Всех пригласили на бал. Попасть туда можно только через мини-красную дорожку, вдоль которой стоят фанаты, и через разговор с психологами-экспертами.
Многие пары остались вместе, есть те, кто нашел своего человека вне проекта. Несколько героев, стали встречаться с другими участниками проекта (т.е. не с теми, кого им подобрали эксперты). Я рассмотрю пары, которые меня заинтересовали:
На передачу ребята приехали вместе. После проекта здоровье Оксаны улучшилось, она становится более самостоятельной.
Эта пара пример симбиоза из разных серий.
А у этой пары не сложилось. Юля приехала на бал со своим парнем.
Самая неожиданная пара на мой взгляд
Сильнее всех изменилась Мария, которая болела анорексией
И кстати она предложила билет в кино Борису (эксперту)
Ну а в конце серии были разборки девушек Мартыненко.
В целом, эта серия получилась приятной, необычной. Как всегда прекрасная, атмосферная музыка, нет никаких разборок и скандалов. Было интересно смотреть, как изменились герои.
Разумеется, собрали там всех не только ради бала. Было объявлено, что нас ждет 2 сезон.
Всем доброго дня.
Источник: irecommend.ru
Научить вас вязать половинки крючковых мотивов без схем?
Многие из вас наверняка сталкивались с этой проблемой: хочется связать вещь из мотивов, но для выбранного мотива крючком нет схемы половинки. Чаще всего это происходит при вязании шалей мотивами.
Когда я вязала свою самую первую шаль Межсезонье, крючок был знаком мне на уровне вязания бабушкиных квадратов, и я вязала пледы, в которых не требовались половинки мотивов.
Найти схему треугольника для выбранного мотива к шали мне не удалось, поэтому пришлось выкручиваться самой. Тогда я не знала многих премудростей, которые сейчас кажутся обыденными, и действовала, скорее, по наитию.
Итак, первое, что нужно сделать — разделить мотив по диагонали. Лучше всего делать это не по схеме, а имея перед собой связанный полный мотив, в данном случае квадрат.
Как видите, при вязании треугольного мотива у вас уже не получится идти по кругу — он будет выполнен поворотными рядами, а в тех местах, где проходит красная линия, мы будем вывязывать дополнительные петли.
Вяжем обычное кольцо амигуруми, с которого вы начинали полный мотив. Правой жёлтой точкой на рисунке показано начало вязания первого ряда треугольного мотива: делаем цепочку из 5 в.п. + 2 в.п., которые мы должны провязать по схеме (арка из 4 в.п. разделенная пополам).
Далее вяжем по схеме до левой желтой точки.
И вот здесь самое главное — если вы сейчас поймёте этот принцип, то сможете разделить пополам любой мотив!
При вязании столбика с накидами нить возвращается в ту же точку, из которой вы начинали этот столбик. Прямо сейчас возьмите крючок и убедитесь в этом сами! Цепочки воздушных петель двигают нить вперед, а столбик оставляет как бы на месте.
Как же нам пригождается это знание?
Придя после вязания 1-го ряда в левую жёлтую точку, нам необходимо замкнуть 1-ый ряд на кольцо, но если это сделать цепочкой воздушных петель (как в начале ряда), нить останется на кольце, в то время, как начинать 2-ой ряд мы должны из левой жёлтой точки.
А вот если провязать 2 в.п. (которые мы должны выполнить по схеме до левой желтой точки), а затем компенсировать 5 в.п. столбиком с двумя накидами, то нить останется ровно в левой желтой точке!
Далее, следуя этому принципу, вы будете начинать каждый ряд цепочкой из 5 в.п., а заканчивать — столбиком с двумя накидами. И не потеряйте в добавок к ним те петли из арок рисунка, которые остаются в схеме после деления мотива пополам.
ВАЖНО! плотность вязания унас у всех разная, пряжа для вязания мотива — тоже, поэтому попробуйте связать образец, постирать его, отпарить при необходимости, чтобы понять — сколько тех самых дополнительных петель вам понадобится для того, чтобы половинку мотива не стягивало по линии деления. Например, при повторе этой шали я вязала не 5, а 7 дополнительных петель — так верхний край шали (а именно на него приходится красная линия всех половинок!) получился более эластичным.
Надеюсь, была вам полезной.
Источник: dzen.ru