ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Подтемы:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Версия для печати
Убрать все задачи Дано прямоугольное клетчатое поле M × N клеток. Каждая клетка поля покрашена в один из шести цветов, причем левая верхняя и правая нижняя клетки имеют различный цвет. В результате поле разбивается на некоторое количество одноцветных областей: две клетки одного цвета, имеющие общую сторону, принадлежат одной области. Правила игры Играют два игрока. За первым игроком закреплена область, включающая левую верхнюю клетку, за вторым – правую нижнюю. Игроки ходят по очереди. Делая ход, игрок перекрашивает свою область: А) в любой из шести цветов; Б) в любой из шести цветов, за исключением цвета своей области и цвета области противника. В результате хода к области игрока присоединяются все прилегающие к ней области выбранного цвета, если такие имеются. Если после очередного хода окажется, что области игроков соприкасаются, то игра заканчивается. Задание Напишите программу, которая для каждого из пунктов (А и Б) определяет минимально возможное число ходов, по прошествии которых игра может завершиться. Входные данные Цвета пронумерованы цифрами от 1 до 6. Первая строка входного файла содержит целые числа M и N – размеры поля (1 ≤ M,N ≤ 50). Далее следует описание раскраски поля – M строк по N цифр (от 1 до 6) в каждой без пробелов. Первая цифра файла соответствует цвету левой верхней клетки игрового поля. Количество одноцветных областей не превосходит 50. Выходные данные В выходной файл выведите искомое количество ходов для каждого из пунктов. Если ваша программа решает только один из пунктов, выведите произвольное целое число в качестве ответа на другой пункт. Пример входного файла 4 3 122 221 143 132 Пример выходного файла 3 4 Решение |
Страница: << 15 16 17 18 19 20 21 >> [Всего задач: 155]
Заданы последовательности, которые могут быть заменены некоторыми
символами английского алфавита, а также исходный текст, который следует
сжать. Поскольку в исходном тексте эти последовательности могут
накладываться друг на друга, результат сжатия существенно зависит от порядка
замен. Ваша задача состоит в том, чтобы получить сжатый текст наименьшей
длины.
Назовем пустотой последовательность пробелов между соседними словами в строке, а также от начала строки до первого слова в ней и от последнего слова в строке до конца строки. Проблема, стоящая перед жюри, состоит в том, что научный руководитель сборов Владимир Михайлович Кирюхин отказывается читать текст, если сумма кубов длин пустот по всем строкам не минимальна. Помогите жюри расположить отчет на листе бумаги так, чтобы В.М. Кирюхин согласился его прочесть и утвердить результаты сборов. Для достижения требуемого расположения текста на бумаге разрешается
заменять произвольную пробельную последовательность (т.е. непустую
последовательность подряд идущих пробелов и/или символов перевода строки)
любой другой пробельной последовательностью.
КГБ хочет прослушивать все передаваемые в сети Пентагона сообщения.
Для этого советскими программистами был разработан вирус, который, будучи
установлен на какой-либо из компьютеров, передает КГБ всю информацию,
проходящую через него. Оказалось, что материальные затраты, необходимые
для установки вируса на различные компьютеры, различны. Требуется
определить набор компьютеров, которые КГБ должно инфицировать, чтобы
минимизировать общие материальные затраты.
1) определить, существует ли в заданном графе путь из вершины v1 в вершину v2, состоящий из C ребер (путь может иметь самопересечения как по вершинам, так и по ребрам); 2) найти минимум функции | X - C |, где X – количество ребер в некотором пути из v1 в v2 . Входные данные Первая строка входного файла содержит целое число N – количество вершин в графе (1 ≤ N ≤ 10). В следующих N строках расположена матрица N × N из нулей и единиц, элемент (i, j) которой равен единице, если в графе есть ребро из вершины i в вершину j, и нулю, если такого ребра нет. (Граф может содержать петли, т.е. ребра, идущие из вершины в саму себя). Элементы матрицы во входном файле записаны без разделительных пробелов.
Наконец, строка N+2 содержит номера вершин v1
и v2
, а строка N+3 – десятичную запись числа C (1 &le C <
1050).
Правила игры Играют два игрока. За первым игроком закреплена область, включающая левую верхнюю клетку, за вторым – правую нижнюю. Игроки ходят по очереди. Делая ход, игрок перекрашивает свою область: А) в любой из шести цветов; Б) в любой из шести цветов, за исключением цвета своей области и цвета области противника. В результате хода к области игрока присоединяются все прилегающие к ней области выбранного цвета, если такие имеются. Если после очередного хода окажется, что области игроков соприкасаются, то игра заканчивается. Задание Напишите программу, которая для каждого из пунктов (А и Б) определяет минимально возможное число ходов, по прошествии которых игра может завершиться. Входные данные Цвета пронумерованы цифрами от 1 до 6. Первая строка входного файла содержит целые числа M и N – размеры поля (1 ≤ M,N ≤ 50). Далее следует описание раскраски поля – M строк по N цифр (от 1 до 6) в каждой без пробелов. Первая цифра файла соответствует цвету левой верхней клетки игрового поля. Количество одноцветных областей не превосходит 50. Выходные данные В выходной файл выведите искомое количество ходов для каждого из пунктов. Если ваша программа решает только один из пунктов, выведите произвольное целое число в качестве ответа на другой пункт. Пример входного файла 4 3 122 221 143 132 Пример выходного файла 3 4
Страница: << 15 16 17 18 19 20 21 >> [Всего задач: 155] |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|