ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при поддержке
ЦПМ
Фильтр
Сложность с по   Класс с по  
Задачи

Страница: << 34 35 36 37 38 39 40 >> [Всего задач: 272]      



Задача 102894

 [Считай путем ]
Тема:   [ Представление графов в памяти ]
Сложность: 3

Задан ориентированный граф с N вершинами, пронумерованными целыми числами от 1 до N. Напишите программу, которая подсчитывает количество различных путей между всеми парами вершин графа.

Входные данные

Входной файл содержит количество вершин графа N (1 ≤ N ≤ 33) и список дуг графа, заданных номерами начальной и конечной вершин.

Выходные данные

Вывести в выходной файл матрицу N × N, элемент (i, j) которой равен числу различных путей, ведущих из вершины i в вершину j, или -1, если существует бесконечно много таких путей.

Пример входного файла

5
1 2
2 4
3 4
4 1
5 3
1 1

Пример выходного файла

-1 -1 0 -1 0
-1 -1 0 -1 0
-1 -1 0 -1 0
-1 -1 0 -1 0
-1 -1 1 -1 0
Прислать комментарий     Решение


Задача 102895

 [Игра в города ]
Тема:   [ Эйлеров цикл ]
Сложность: 3

Всем известны правила игры «в города»: первый игрок называет произвольный город, следующий – город, название которого начинается на ту же букву, на которую заканчивается название предыдущего города, и т.д. Аналогичным образом можно играть не в названия городов, а, например, в названия животных. Задан список допустимых для описанной игры слов, слова в нем могут повторяться. Напишите программу, определяющую, в каком порядке в процессе игры должны быть названы слова из списка, чтобы каждое слово было использовано ровно столько раз, сколько оно в нем встречается.

Входные данные

В первой строке входного файла записано целое число N – количество слов в списке (1 ≤ N ≤ 1000), а в последующих N строках – сами слова. Каждое из них является последовательностью не более чем из 10 строчных английских букв. 

Выходные данные

Выведите в выходной файл слова в искомом порядке, либо сообщение «NO», если такого порядка не существует. Каждое слово должно быть выведено в отдельную строку выходного файла.

Пример входного файла

4
b
ab
bc
bb

Пример выходного файла

ab
bb
b
bc
Прислать комментарий     Решение


Задача 102925

 [Испытание шаха ]
Тема:   [ Перебор с отсечениями ]
Сложность: 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..
Прислать комментарий     Решение


Задача 102926

 [Ребус ]
Тема:   [ Перебор с отсечениями ]
Сложность: 3

Арифметический ребус – это зашифрованная запись сложения двух натуральных чисел (например, КОМП+КОМП=СБОРЫ). При этом одинаковым буквам должны соответствовать одинаковые цифры, разным – разные, и ни одно из чисел не может начинаться с нуля. Требуется написать программу, находящую все возможные решения такого ребуса. 

Входные данные

Входной файл содержит единственную строку с записью ребуса. Длина строки не превышает 30 символов.

Выходные данные

Первая строка выходного файла должна содержать число возможных решений ребуса, а остальные – список решений в алфавитном порядке. Каждое решение должно быть выведено не более одного раза.

Пример входного файла

ЛЕТО+ЛЕТО=ПОЛЕТ

Пример выходного файла

1
8947+8947=17894
Прислать комментарий     Решение


Задача 102930

 [Жизнь бактерий ]
Тема:   [ Задачи на полный перебор ]
Сложность: 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

*.
**

Прислать комментарий     Решение

Страница: << 34 35 36 37 38 39 40 >> [Всего задач: 272]      



© 2004-... МЦНМО (о копирайте)
Пишите нам