Zadania_po_Prologu

advertisement
Задания по Прологу.
Задание № 1: «Домино».
Берутся 7 костяшек домино. Эти шашки сделаны из двух частей, на каждой из которых
либо ничего не написано (чистая сторона), либо очки от 1 до 6. Задача состоит в том, чтобы
организовать из 7 этих костей все возможные цепи, состыковывая костяшки домино частями с
равными количествами точек (или сообщить, что таких цепей не существует).
Задание № 2: «Колобок» (четыре в ряд).
Имеется поле размером 6 x 8 . Играют двое. Игрок может ходить (ставить крестик или
нолик) в самую нижнюю незанятую клетку любого из 8-ми столбцов. Это можно представить
так, как если бы Вы бросали фишку сверху вниз в выбранный столбец, и она останавливалась в
его нижней части. Игра заканчивается, когда один из двух игроков наберет 4 крестика или
нолика по горизонтали, вертикали или диагонали.
Задание № 3: «Пасьянс».
Необходимо разложить все карты в четыре кучки (по мастям: туз, король, ..., шестерка),
используя три промежуточные кучки за три раздачи. Карта из колоды выкладывается или в
одну из четырех кучек, если это не нарушает последовательности, или в промежуточную,
циклически меняющуюся кучку. Колода для следующей раздачи получается соединением карт
промежуточных кучек.
Задание № 4:
Из заданных N предметов выбрать такие, чтобы суммарный вес был не более G
килограмм, а их стоимость - наибольшей.
Задание № 5:
Имеется несколько романов одного писателя. Для каждого из них известен объем
(число) страниц. Для издания сочинения романы надо сгруппировать в пары. Каждая пара
будет печататься в одном томе. Если число романов нечетно, то один печатается в отдельном
томе. Требуется найти такую группировку, при которой объём самого толстого тома
минимален.
Задание № 6:
Вершины графа пронумерованы произвольным образом. Если граф не содержит петель и
циклов, то упорядочить его.
Задание № 7:
Головоломка с предметами. Число предметов в куче известно. Сколько предметов
можно брать из кучи за один раз, и какими способами. Игра с компьютером. Кто берет
предметы последним, тот проиграл.
Задание № 8:
Задается набор из 3*N точек на плоскости (координаты точек X и Y- целые числа),
причем любые три точки этого набора не лежат на одной прямой. Необходимо разбить набор на
N групп точек (по три точки в группе) таким образом, что точки каждой группы будут
являться вершинами треугольника. Задача состоит в нахождении такого разбиения на группы,
чтобы суммарная площадь всех треугольников была минимальной.
Задание № 9:«Логический куб».
Расставить цифры на гранях куба так, чтобы суммы этих цифр на гранях были
одинаковы. Комбинации цифр не должны повторяться.
Задание № 10:
Перевести состав с одного пути на другой, используя тупиковую ветку. Стрелки
расставлены таким образом, что локомотив может перевести не более одного вагона.
Задание №11:
«Перестройка».
Имеется поле, на котором случайным образом могут возникать островки. Человек
находится в верхнем левом углу поля. Его задача: перебраться в правый нижний угол. Человек
может ходить в соседние клетки по следующим направлениям: вниз, вправо, влево, вверх,
либо оставаться на месте при условии, что в этой клетке находится остров. На каждом шаге
поле перестраивается: существующие островки уменьшают свой размер и случайным образом
появляются новые.
Задание № 12:
С помощью монет заданного номинала требуется набрать необходимую сумму, затратив
при этом минимальное количество монет.
Задание № 13:
Сложение двух чисел столбиком. Несколько или все цифры в слагаемых и в сумме
зашифрованы символами. Требуется определить каким символом, какая цифра зашифрована.
Один и тот же символ не может шифровать разные цифры одновременно. Одна и та же цифра не
может быть зашифрована разными символами.
Пример:
DONALD
+
GERALD
ROBERT
526485
+
197485
723970
Задание № 14:
Даны два натуральных числа, больших единицы, но меньших ста. Сумма этих чисел
дана господину S, а произведение дано господину Р. Господин Р звонит господину S и
говорит:
Р:- Я не могу найти эти два числа ."
S:- Я знаю, что у вас и не хватило бы ума ."
Р:- Ах, так... Но тогда я их знаю !"
S:— Ну, тогда я тоже и знаю !" Необходимо
по данному диалогу найти эти числа.
Задание № 15:
«Кроссворд».
Составить программу, которая считывала бы из файла слова и составляла из них
кроссворд. Критерий оптимальности - максимальное число пересечений слов.
Задание № 16:
«Покер» ( из 54 карт).
Есть 2 игрока: пользователь и компьютер. На руки выдается по 5 карт. Необходимо
собрать один из вариантов выигрышной комбинации:
• 2 карты одного достоинства;
• 2 + 2 карты одного достоинства;
• 3 карты одного достоинства;
• последовательность из 5 карт от 2 до Короля разной масти;
• все карты одной масти;
• 2 + 3 карты одного достоинства;
• 4 карты одного достоинства;
• последовательность 10, В, Д, К, Т разной масти;
• 4 карты одного достоинства + джокер;
• последовательность 10, В, Д, К, Т одной масти.
Выигрышные комбинации описаны в порядке возрастания приоритета. Карта «джокер»
заменяет карту любой масти любого достоинства. В случае, если в первый приход карт
комбинация не устраивает, то возможна замена ненужных карт на новые из колоды.
Задание № 17:
«Подкидной дурак».
Программа выбирает для хода карту, которая бьет наименьшее количество известных
карт. Целевая функция:
S1  S 2  S 3*8  W  min
где Si - количество битых карт противника;
Si - количество битых карт в бите;
8з - количество битых карт в куче;
W - все карты. Если у пользователя есть возможность подкинуть карту, то программа
ожидает подкидывания.
Задание № 18:
«Головоломка».
Три друга заняли 1-е, 2-е, 3-е места в соревнованиях. Друзья разной национальности,
зовут их по-разному, и любят они разные виды спорта. Майкл предпочитает баскетбол и
играет лучше, чем американец. Израилтянин Саймон играет лучше теннисиста. Игрок в
крикет занял 1-е место. Кто является австралийцем? Каким видом спорта занимается Ричард?
Задание № 19:
«Ним».
В игре используются спички, разложенные в N кучек. Игроки по очереди берут из
любой кучки произвольное количество спичек (можно все). Побеждает тот игрок, который
берет последнюю спичку.
Задание № 20:
Есть прямоугольное поле. Каждой клетке соответствует свой вес. По полю ходит
фишка (может двигаться только по горизонтали и диагонали). Найти путь между двумя
указанными точками такой, чтобы его вес был максимальным.
Задание №21:
«Ханойская башня».
Построить Ханойскую башню. Число колец задаётся произвольно. Диаметр каждого
следующего кольца должен быть меньше предыдущего. Кольца нанизаны на оси. Задача перенести все кольца с левой оси на правую при помощи третьей дополнительной оси. При
этом, кольцо большего диаметра никогда не должно оказаться на кольце меньшего диаметра.
Задание № 22:
Дан 3-х мерный лабиринт. Найти для него выход для змеи длиной N при условии, что эта
змея может одновременно быть согнута в М раз.
Задание № 23:
Задан лабиринт. Найти минимальное и максимальное расстояние в этом лабиринте.
Задание № 24:
Задан лабиринт, по которому ползает змейка. Найти минимальный путь от входа к
выходу, при условии, что змейка может одновременно преломляться N раз.
Задание № 25:
Имеется некий плоский лабиринт. В нем есть некоторая точка, через которую мы
обязаны пройти. В лабиринте есть один вход и один выход. Пройти по кратчайшему пути,
обойдя все точки.
Задание № 26:
Проектируется оптимальная сеть дорог, которые должны связать несколько населённых
пунктов так, что из любого пункта можно проехать в любой другой. Каждая дорога
представляет собой отрезок, соединяющий какие-либо два пункта. Суммарная длина дорог
должна быть минимальна.
Задание № 27:
Даны остановки, между которыми могут ходить автобусы, троллейбусы и трамваи.
Дано время прохождения транспорта между остановками и время ожидания транспорта на
остановке. Найти минимальное время поездки между двумя заданными остановками.
Задание № 28:
Имеется сеть автомобильных дорог, по которым ходит различный транспорт с
определённым интервалом времени. У каждого вида транспорта свой маршрут. Определить
путь, минимальный по времени, от начальной до конечной остановки (остановки задаются
пользователем), и виды транспорта, на которых можно ехать.
Задание № 29:
«Волк, коза и капуста».
На левом берегу находятся существа, некоторые из которых могут поедать других.
Лодочник должен перевести их всех на лодке заданной вместимости и за кратчайшее время так,
чтобы без него на берегу не оставались несовместимые существа. Задаются: вместимость лодки,
таблица несовместимостей и количество различных существ.
Задание № 30:
«Быки и коровы».
Пользователь загадывает 4 цифры от 0 до 9. Программа пытается отгадать эти цифры и
последовательность, в которой они стоят. Для этого программа предлагает свой вариант
последовательности цифр. Пользователь называет программе количество правильно угаданных
цифр, стоящих на своем месте («быков»), и правильно угаданных цифр, стоящих не на своём
месте («коров»). На основании ответа пользователя программа предлагает следующий вариант
последовательности цифр. И так до тех пор, пока программой не будет отгаданы все цифры и их
расположение.
Задание № 31:
Раскрасить области географической карты так, чтобы граничащие области не были
раскрашены одинаковым цветом.
Задание № 32:
Есть кубик, грани которого окрашены в разные цвета. Есть доска, раскрашенная
произвольным образом, но с использованием цветов кубика. На доске задаются начальная и
конечная точки. Требуется выяснить возможность прокатить кубик из одной точки в другую
так, чтобы цвета граней шли по цветам клеток.
Задание № 33:
Существует квадратная доска размерности N х N. Размерность задается пользователем.
Также есть шестигранный кубик, одна грань которого имеет метку. В первый момент времени
кубик ставится меченой гранью в левый нижний угол (логическое начало доски). Нужно
прокатить кубик через всю доску таким образом, чтобы меченая грань никогда не оказалась бы
сверху. Кубик может перекатываться только на смежные грани. При прохождении доски можно
заходить в одну и ту же клетку несколько раз.
Задание № 34:
Дан кубик с цифрами, на гранях и плоскость разбита на ячейки. Требуется прокатить
кубик по плоскости от одной заданной точки к другой так, что бы длинна пути, т.е. сумма
цифр, соприкасающихся граней куба с плоскостью, была минимальной.
Задание № 35:
Произвести синтаксический анализ вводимого предложения, используя правила
грамматики выработанного в процессе умозаключений языка.
Задание № 36:
«Футбол».
Пользователь задает прямоугольное поле произвольного размера. Затем задает размер
ворот и их расположение на поле. Ворота автоматически располагаются параллельно. Кроме
того, необходимо задать начальную точку игры и выбрать право первого хода. Цель игры:
попасть в ворота противника. За один ход необходимо совершить три перемещения в одном из
восьми возможных направлений (двигаться можно как прямо, так и по диагонали).
Задание № 37:
«Уголки».
Необходимо раньше соперника переставить свои фишки в противоположный угол
шахматной доски. Разрешено делать ход на одну клетку по вертикали или по горизонтали, а
также перепрыгивать через одну фишку.
Задание № 38:
«Реверси».
Играют двое. Цель игры - набрать максимальное число фишек. Фишку своего цвета
можно поставить только в тех позициях, где по диагонали, вертикали или горизонтали
находятся союзные фишки, зажимающие между собой фишки противника, и между ними не
содержатся пустые клетки. При этом зажатые во всех направлениях фишки противника
превращаются в ваши.
Задание № 39:
«X ферзей».
Каково наименьшее число ферзей, необходимых для блокирования шахматной доски
так, чтобы не было возможности поставить ни одной фигуры, ни на одно поле, т.е. чтобы один из
уже стоящих ферзей не мог эту фигуру взять?
Задание № 40:
Расставить шахматные фигуры на доске так, чтобы они не били друг друга. Количество
должно быть равным, а также максимальным.
Задание № 41:
«Шахматный эндшпиль».
Поставить мат черному королю белым королём и ладьёй.
Задание № 42:
Два короля - чёрный и белый, и белый ферзь. Поставить мат чёрному королю.
Задание № 43:
Есть шахматное поле размером 8 x 8 . пользователь может расставить на поле
препятствия, количество которых ограничено размерностью доски, т.е. не более 64 препятствий.
Пользователь указывает начальную и конечную позицию на поле, и выбирает одну из 4-х
шахматных фигур: король, ферзь, ладья, конь. Программа должна найти минимальный путь
из начальной точки в конечную ходом выбранной фигуры.
Задание № 44:
Даны следующие фигуры: белый король, белая пешка, черный король. Необходимо
провести белую пешку.
Задание № 45:
По заданным 4-м словам (длина каждого не более 11 букв) программа должна
составить и вывести на экран кроссворд, в котором:
• два слова идут по горизонтали;
• два слова идут по вертикали;
• каждое слово пересекается с двумя другими;
• буквы, по которым пересекаются слова, не должны быть последними. В случае
невозможности составления кроссворда, программа должна сообщить об этом. Пример:
С
О
О
К
М
И
У
М
Задание № 46:
«Пятнашки».
Из стартовой позиции Start 1 достигнуть целевой позиции Demention. Текущая
позиция составлена списком координат фишек: первый элемент списка соответствует пустой
клетке. «Пусто» можно переставить в любую соседнюю клетку, т.е. «пусто» меняется местами со
своими соседями.
Задание № 47:
Смоделировать жизнь популяции кур и лис. Время жизни и размножения и начальное
расположение кур и лис задано.
Download