ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Версия для печати
Убрать все задачи Архиватором называется программа, предназначенная для сжатия данных за счет удаления избыточной информации. В этой задаче вашей целью является разработка простейшего архиватора текстов на русском языке. В таких текстах многие знаки стандартной таблицы символов не встречаются, поэтому они могут быть использованы для замены часто повторяющихся последовательностей символов. Заданы последовательности, которые могут быть заменены некоторыми
символами английского алфавита, а также исходный текст, который следует
сжать. Поскольку в исходном тексте эти последовательности могут
накладываться друг на друга, результат сжатия существенно зависит от порядка
замен. Ваша задача состоит в том, чтобы получить сжатый текст наименьшей
длины.
|
Страница: << 1 2 3 4 >> [Всего задач: 20]
Задано прямоугольную таблицу размером M строк на N столбиков. В каждой клеточке записано натуральное число, не превышающее 200. Путник должен пройти по этой таблице из левого верхнего угла в правый нижний, на каждом шаге перемещаясь либо на 1 клеточку направо, либо на 1 клеточку вниз. Очевидно, таких путей много. Для каждого пути можно вычислить сумму чисел в пройденных клеточках. Среди этих сумм, очевидно, есть максимальная. Будем снисходительными к Путнику, считая <хорошими> не только пути, на которых в точности достигается максимально возможная сумма, а еще и пути, сумма которых отличается от максимальной не более чем на K. Количество <хороших> путей гарантированно не превышает 109. Задание Напишите программу GOODWAYS, находящую значение максимально возможной суммы и количества <хороших> путей.Входные данные Первая строка входного файла GOODWAYS.DAT содержит три целых числа M (2≤M≤200), N (2≤N≤200) и K (0≤K≤200). Каждая из последующих M строк содержит N чисел, записанных в соответствующих клеточках.Выходные данные Первая строка выходного файла GOODWAYS.SOL должна содержать максимальную возможную сумму; вторая строка - количество маршрутов, сумма чисел которых отличается от максимальной не более чем на K.Пример входных и выходных данных
После развертывания исходный лист распадется на некоторое количество
связных частей, т.е. таких множеств клеток, что из любой клетки одного
множества можно пройти до любой другой, переходя каждый раз на соседнюю
по вертикали или горизонтали клетку. Напишите программу, вычисляющую
число частей, на которые распадется лист.
Заданы последовательности, которые могут быть заменены некоторыми
символами английского алфавита, а также исходный текст, который следует
сжать. Поскольку в исходном тексте эти последовательности могут
накладываться друг на друга, результат сжатия существенно зависит от порядка
замен. Ваша задача состоит в том, чтобы получить сжатый текст наименьшей
длины.
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 2 3 4 >> [Всего задач: 20] |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|