Ліміт часу: 1 с
Ліміт пам'яті: 64 МБ
Бали за задачу: 20
Головоломка являє собою квадрат, що має три клітинки в ширину та три клітинки у висоту, всього дев'ять клітинок. Кожна клітинка пофарбована в один з трьох кольорів: три клітинки в колір 1, три - в колір 2, та три - в колір 3. Головоломка вважається вирішеною, якщо клітинки кожного з трьох рядків мають однаковий колір, або ж клітинки кожного з стовпців мають однаковий колір. Розташування кольорових клітинок можна змінювати за допомогою циклічних зсувів будь-якого рядка або стовпця. Циклічний зсув зміщує всі клітинки одного рядка або стовпця на одну позицію вправо, вліво, вверх чи вниз відповідно, остання ж клітинка переміщується в першу позицію.
Приклад вирішення головоломки в три кроки:231 123 123 123
112 -> 112 -> 312 -> 123
323 323 123 123
Потрібно визначити за яку найменшу кількість кроків можна вирішити головоломку починаючи з заданого стану.
Вхідні дані:
В перших трьох рядках вхідного потоку знаходяться по три цифри, що
задають початковий стан головоломки. Всього дев'ять цифр, гарантовано,
що три з них - одиниці, три - двійки та три - трійки.
Вихідні дані:
Вихідні дані:
В перший рядок вихідного потоку вивести єдине число -- найменшу
кількість кроків, необхідну для вирішення головоломки, починаючи з
заданого стану.
Приклад вхідних та вихідних даних.
Приклад вхідних даних: | Приклад вихідних даних: |
231 112 323 | 3 |
Задача B - Авіапошта
Ліміт часу: 5 с
Ліміт пам'яті: 64 МБ
Бали за задачу: 20
У відділенні військової пошти є N посилок, які потрібно доставити на окуповану територію. 0<=N<=1000. Кожна посилка має бути доставлена в задані координати x, y. x, y - цілі числа, -100<=x, y<=100. В поштовому відділенні є літак, який може пролетіти над територією і скинути посилки в потрібних координатах. Але, у зв'язку з небезпекою такої операції, він може пролетіти лише один раз і лише по прямій лінії. Яку найбільшу кількість посилок зможе доставити літак?
Вхідні дані:
В першому рядку вхідного потоку міститься число N. В наступних N рядках
вхідного потоку міститься по парі чисел, які розділені пропусками, -
координати x та y доставки відповідної посилки.
Вихідні дані:
Вихідні дані:
В перший рядок вихідного потоку вивести максимальну кількість посилок, яка може бути доставлена за даних умов.
Приклад вхідних та вихідних даних.
Приклад вхідних даних: | Приклад вихідних даних: |
4 0 0 1 1 2 2 4 1 | 3 |
Задача C - Родичі
Ліміт часу: 1 с
Ліміт пам'яті: 64 МБ
Бали за задачу: 20
Двоюрідними братами чи сестрами називаються ті люди, в яких хтось із
батьків є рідним братом чи сестрою когось із батьків іншого. Для заданої
особи визначте, скільки вона має двоюрідних братів та сестер.
Вхідні дані:
В першому рядку вхідного потоку міститься єдине слово - ім'я особи. В
другому рядку вхідного потоку міститься єдине число n - кількість
описів сімей. В кожному з наступних n рядків міститься опис сім'ї. Цей
опис складається з послідовності імен розділених пропусками. Перші два
імені в рядку - це імена батьків, всі інші - імена їхніх дітей. В
кожному рядку міститься не менше двох імен. Імена складаються лише з
великих та малих латинських літер. Всі особи мають різні імена. Кожна
особа зустрічається в описах сімей не більше одного разу в якості
дитини, та не більше одного разу в якості батьків. Загальна кількість
осіб згаданих в описі не перевищує 100.
Вихідні дані:
Вихідні дані:
В перший рядок вихідного потоку виведіть єдине число - кількість двоюрідних братів та сестер вказаної особи.
Приклад вхідних та вихідних даних.
Приклад вхідних даних: | Приклад вихідних даних: |
Henry 3 Cameron Claire Sophie Hunter Connor Sophie Adrian Henry Hunter Arianna Peyton Harper | 2 |