Страница: 1 2 3 >> [Всего задач: 14]
[Без тройных повторений]
|
|
Сложность: 3 |
Найти последовательность из 50 нулей и единиц, в
которой никакой отрезок не повторяется три раза подряд. Напечатать НЕТ, если
такой последовательности не существует. Например, в искомой последовательности
нигде не должны встречаться такие отрезки, как 000, или 101010, или
101101101.
[Испытание шаха
]
|
|
Сложность: 3 |
Известна легенда, что в древней Лимонии любой претендент на должность
визиря при шахе должен был выдержать следующее испытание. Ему дается
доска размером M × M и некоторое количество шахматных фигур: ферзей, ладей,
слонов, коней и королей. Претендент должен расставить их на доске таким
образом, чтобы ни одна из фигур не била другие фигуры, и все фигуры были
выставлены на доске. Если претендент выдерживал испытание, он назначался
визирем, а если не выдерживал... то не назначался. Напишите программу,
которая будет решать эту головоломку.
Входные данные
Первое число во входном файле задает размер доски M (2 ≤
M ≤ 12). Следующие 5 целых неотрицательных чисел K, Q, R, B, N задают соответственно количество
королей, ферзей, ладей, слонов и коней, которые требуется расставить. Общее
количество фигур не превосходит M2
. Фигуры подобраны так, что искомая расстановка существует.
Выходные данные
Вывести в выходной файл доску с расставленными фигурами в виде M строк по
M символов в каждой. Пустые поля обозначаются символом . (точка), поля с
королями – K, ферзями – Q, ладьями – R, слонами – B, конями – N.
Пример входного файла
4 0 0 4 0 0
Пример выходного файла
R...
..R.
...R
.R..
Арифметический ребус – это зашифрованная запись сложения двух
натуральных чисел (например, КОМП+КОМП=СБОРЫ). При этом одинаковым
буквам должны соответствовать одинаковые цифры, разным – разные, и ни
одно из чисел не может начинаться с нуля. Требуется написать программу,
находящую все возможные решения такого ребуса.
Входные данные
Входной файл содержит единственную строку с записью ребуса. Длина строки
не превышает 30 символов.
Выходные данные
Первая строка выходного файла должна содержать число возможных решений
ребуса, а остальные – список решений в алфавитном порядке. Каждое решение
должно быть выведено не более одного раза.
Пример входного файла
ЛЕТО+ЛЕТО=ПОЛЕТ
Пример выходного файла
1
8947+8947=17894
[Жизнь бактерий
]
|
|
Сложность: 3 |
Игра «Жизнь» является упрощенной моделью развития колонии бактерий.
Игровое поле для этой игры представляет собой прямоугольник
M × N клеток. В начальный момент времени в некоторых клетках находятся бактерии. За один
шаг игры некоторые бактерии могут погибнуть, а некоторые родиться на
свободных клетках в соответствии со следующими правилами:
1) бактерия, у которой есть не более одной соседки, погибает «от скуки»;
2) бактерия, у которой есть более трех соседок, погибает «от тесноты»;
3) на свободной клетке, у которой есть ровно три соседние бактерии,
рождается новая бактерия.
Все эти правила применяются одновременно ко всем клеткам игрового поля.
Клетки считаются соседними, если у них есть хотя бы одна общая точка.
Напишите программу, которая:
по заданной колонии находит ее предка, то есть колонию, чьим следующим
поколением она является, либо сообщает, что это невозможно;
находит колонию, у которой нет предка, и которая погибает не ранее, чем
через L шагов, либо сообщает, что такой колонии не существует.
Входные данные
Если во входном файле записана матрица
M × N (2 ≤ M, N ≤ 15), то программа должна решать пункт 1 задачи для колонии бактерий, задаваемой этой
матрицей. Бактерии обозначаются символом *, а пустые клетки – символом
. (точка). Если во входном файле заданы три числа M, N и L (2 ≤
M, N ≤ 10, 0 ≤ L ≤ 10), то программа должна решать пункт 2 для этих параметров.
Выходные данные
Если искомая колония существует, то ее следует вывести в выходной файл в
формате, приведенном в описании входных данных к пункту 1. В противном
случае ваша программа должна записать в выходной файл сообщение «NOT POSSIBLE».
Пример входного файла для пункта 1
...
***
...
Пример выходного файла для пункта 1
.*.
.*.
.*.
Пример входного файла для пункта 2
2 2 10
Пример выходного файла для пункта 2
*.
**
[Кроссворд
]
|
|
Сложность: 3+ |
Задан набор из N слов, из которых требуется составить связный кроссворд.
Слова в кроссворде должны располагаться либо вертикально, либо
горизонтально, причем каждое слово, записанное по вертикали, должно
пересекаться с каждым словом, записанным по горизонтали. Слова, записанные
в одном направлении, отделяются друг от друга как минимум одним пустым
рядом. Каждое слово в кроссворде должно встречаться в точности столько раз,
сколько раз оно присутствует в наборе.
Входные данные
Первая строка входного файла содержит целое число N – количество слов в
наборе (1 ≤ N ≤ 9). В каждой из N последующих строк содержится по одному
слову (некоторые из них могут повторяться). Слово представляет собой последовательность не более чем из 20 русских и/или английских букв.
Выходные данные
В выходной файл выведите один из возможных вариантов составления
кроссворда, либо сообщение «NO SOLUTION», если кроссворд, удовлетворяющий условию задачи, составить невозможно.
Пример входного файла
СБОРЫ
СОН
ПОТОП
АНТОН
Пример выходного файла
П
СБОРЫ
О Т
АНТОН
П
Страница: 1 2 3 >> [Всего задач: 14]