ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Тема:
Информатика
Подтемы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Версия для печати
Убрать все задачи Архиватором называется программа, предназначенная для сжатия данных за счет удаления избыточной информации. В этой задаче вашей целью является разработка простейшего архиватора текстов на русском языке. В таких текстах многие знаки стандартной таблицы символов не встречаются, поэтому они могут быть использованы для замены часто повторяющихся последовательностей символов. Заданы последовательности, которые могут быть заменены некоторыми
символами английского алфавита, а также исходный текст, который следует
сжать. Поскольку в исходном тексте эти последовательности могут
накладываться друг на друга, результат сжатия существенно зависит от порядка
замен. Ваша задача состоит в том, чтобы получить сжатый текст наименьшей
длины.
|
Страница: << 28 29 30 31 32 33 34 >> [Всего задач: 277]
Задана квадратная доска размером N ×N. Известно, что на ней играли в интеллектуальную игру, вследствие чего клеточки оказались окрашенными в белый, чёрный и зеленый цвета. Раскраска клеточек может быть разной (ведь это интеллектуальная игра!), но все клеточки самого верхнего ряда белые, а самого нижнего - чёрные.Чтобы выявить победителя, необходимо подсчитать количество клеточек в белой и количество клеточек в черной области. Белая область - это как можно большая (по количеству клеточек) часть квадрата, которая ограничена сверху верхней стороной квадрата, а с других сторон - непрерывной границей, которая проходит только через белые клеточки и никакая клеточка не встречается больше одного раза. Белая граница представляет собой последовательность белых соседних клеточек (соседние клеточки имеют общую сторону). Концами этой границы должны быть левая верхняя и правая верхняя клеточки квадрата. Определение чёрной области выглядит аналогично: она ограничена снизу нижней стороной квадрата, с других сторон - чёрной границей, которая проходит только через чёрные клеточки, а концы этой границы - левая нижняя и правая нижняя клеточки квадрата. Задание Напишите программу SCORE, которая по раскраске квадрата находит количество клеточек в белой и чёрной областях.Входные данные Первая строка входного файла SCORE.DAT содержит единственное целое число N - размер квадрата (5≤N?250). Каждая из следующих N строк содержит по N символов "G", "W" или "B" (записанных без пробелов), которые обозначают зелёный, белый и чёрный цвет, соответственно.Выходные данные Первая строка выходного файла SCORE.SOL должна содержать количество клеточек в белой области, а вторая строка - количество клеточек в чёрной области.Пример входных и выходных данных
Вид белой и чёрной областей для примера из условия представлен на рисунке.
Задано прямоугольную таблицу размером 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.Пример входных и выходных данных
После развертывания исходный лист распадется на некоторое количество
связных частей, т.е. таких множеств клеток, что из любой клетки одного
множества можно пройти до любой другой, переходя каждый раз на соседнюю
по вертикали или горизонтали клетку. Напишите программу, вычисляющую
число частей, на которые распадется лист.
Заданы последовательности, которые могут быть заменены некоторыми
символами английского алфавита, а также исходный текст, который следует
сжать. Поскольку в исходном тексте эти последовательности могут
накладываться друг на друга, результат сжатия существенно зависит от порядка
замен. Ваша задача состоит в том, чтобы получить сжатый текст наименьшей
длины.
Назовем пустотой последовательность пробелов между соседними словами в строке, а также от начала строки до первого слова в ней и от последнего слова в строке до конца строки. Проблема, стоящая перед жюри, состоит в том, что научный руководитель сборов Владимир Михайлович Кирюхин отказывается читать текст, если сумма кубов длин пустот по всем строкам не минимальна. Помогите жюри расположить отчет на листе бумаги так, чтобы В.М. Кирюхин согласился его прочесть и утвердить результаты сборов. Для достижения требуемого расположения текста на бумаге разрешается
заменять произвольную пробельную последовательность (т.е. непустую
последовательность подряд идущих пробелов и/или символов перевода строки)
любой другой пробельной последовательностью.
Страница: << 28 29 30 31 32 33 34 >> [Всего задач: 277] |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|