Задача Newpatience
Багато хто в вiльний час захоплюється розкладанням
пасьянсiв. Пропонуємо вам ще один, правда, карти для нього
треба виготовити самостiйно. Отже, на N картках нанесiть
натуральнi числа по одному числу на кожнiй сторонi картки
такими чином, що кожне з чисел наносилось рiвно 2 рази.
Картки розкладiть на столi в рядок. Все готово. Можна
починати. В процесi гри картки можна перевертати iншою
стороною. Пасьянс сходиться тодi, коли перевернувши деякi
картки, ви отримаєте можливiсть бачити всi N чисел
одночасно.Чи зiйдеться пасьянс,а якщо так, то яку найменшу
кiлькiсть карток необхiдно для цього перевернути?
Технічні
умови:Програма читає з клавiатури число N (N<10000), а далi 2
групи по N чисел - спочатку числа на однiй з сторiн кожної
з N карток (гравець їх бачить на початку гри), а потiм
числа, нанесенi на цi ж картки, але на протилежну сторону.
Всi числа вводяться одним рядком через пропуски.
Ви виводите на екран одне число: -1, якщо пасьянс не
"зiйшовся", або мiнiмальну кiлькiсть перевернутих iншою
стороною карток, якщо гра завершилась успiхом.
Приклад.
Введення>5 3 2 5 3 2 5 4 1 1 4
Виведення>2
Задача Newpatience
Многие в свободное время увлекаются разложением пасьянсов.
Предлагаем вам еще один, правда, карты для него нужно
изготовить самостоятельно. Итак, на N карточках нанесите
натуральные числа по одному числу на каждой стороне
карточки так, что каждое из чисел наносилось ровно 2 раза.
Карточки разложите на столе в ряд. Все готово. Можно
начинать. В процессе игры карточки можно переворачивать
другой стороной. Пасьянс сходится тогда, когда перевернув
некоторые карточки, вы получите возможность видеть все N
чисел одновременно. Сойдется ли пасьянс, а если да, то
какое наименьшее количество карточек необходимо для этого
перевернуть?
Технические
условия: Программа читает с клавиатуры число N (N<10000), а далее 2
группы по N чисел-сначала числа на одной из сторон каждой
из N карточек (игрок их видит в начале игры), а затем
числа, нанесеннные на эти же карточки,но на противоположную
сторону. Все числа вводятся одной строкой через пробелы.
Вы выводите на экран одно число: -1, если пасьянс не
"сошелся", либо минимальное количество перевернутых другой
стороной карточек, если игра завершилась успехом.
Пример.
Ввод>5 3 2 5 3 2 5 4 1 1 4
Вывод>2