Страница: << 1 2 [Всего задач: 7]
[Жадный калькулятор
]
|
|
Сложность: 4 |
Задано алгебраическое выражение, составленное из неотрицательных вещественных чисел и знаков операций +, - и ?. Требуется так расставить в этом
выражении скобки, чтобы его значение стало максимально возможным.
Входные данные
Исходное выражение длиной не более 250 символов записано в первой строке
входного файла. Выражение содержит не более 50 чисел, каждое из которых
лежит в диапазоне от 0 до 106
. Пробелы внутри чисел не допускаются.
Выходные данные
Выведите в первую строку выходного файла максимально возможное после
расстановки скобок значение выражения, а во вторую строку – само это
выражение (если вариантов несколько, нужно выдать любой из них).
Пример входного файла
1+2 - 3.0*4
Пример выходного файла
0
((1+2)-3)*4
[Блиц-тур по комбинаторике
]
|
|
Сложность: 5 |
Уважаемые господа! Сегодня вам предлагается для каждого из следующих
типов комбинаторных объектов:
1) перестановки N-элементного множества (лексикографический
порядок);
2) K-элементные подмножества N-элементного множества
(лексикографический порядок);
3) разбиения N-элементного множества на K непустых подмножеств
(лексикографический, т.е. алфавитный, порядок);
4) разбиения числа N на слагаемые;
5) правильные скобочные последовательности из 2N скобок;
6) двоичные деревья с N вершинами;
7) цепочки из нулей и единиц длины N без двух единиц подряд;
8) перестановки N-элементного множества (порядок, в котором соседние
перестановки отличаются транспозицией соседних элементов);
9) K-элементные подмножества N-элементного множества (порядок, в котором
соседние подмножества отличаются двумя элементами);
10) все подмножества N-элементного множества (порядок, в котором соседние
подмножества отличаются добавлением или удалением одного элемента);
11) подвешенные деревья с N вершинами;
решить следующие две подзадачи:
найти общее количество объектов и породить M объектов, начиная с L-го;
по заданным объектам получить их номера.
В качестве N-элементного множества везде подразумевается множество
{1, ..., N}. Там, где порядок порождения комбинаторных объектов не указан, Вы
можете выбрать его по своему усмотрению. Нумерация объектов начинается с
нуля.
Таким образом, Вам предстоит написать 11 программ. Задача
засчитывается, если Ваша программа прошла все тесты, в противном случае
Вам начисляются штрафные баллы за неверный подход (20% от стоимости
задачи), и Вы имеете возможность исправить решение.
В зависимости от того, какую из подзадач требуется решить, входной и
выходной файлы имеют один из следующих двух форматов (тем самым, Ваша
программа должна сама определять номер решаемой подзадачи).
Входные данные для подзадачи 1
N K L M
Выходные данные для подзадачи 1
<Число объектов>
<Объект номер L>
...
<Объект номер L+M-1>
Каждый объект должен выводиться с новой строки. Формат вывода объектов
остается на Ваше усмотрение с условием, что он должен быть читабельным.
Входные данные для подзадачи 2
N K
<Объект 1>
...
<Объект M>
Формат записи объектов будет соответствовать выходному формату,
используемому Вашей программой при решении подзадачи 1.
Выходные данные для подзадачи 2
<Номер объекта 1>
...
<Номер объекта M>
Каждый номер должен быть выведен с новой строки.
Технические ограничения
Если в данной задаче число K не используется, то вместо него будет указан
нуль. Числа N и K во всех задачах не превосходят 100, число L не превышает
2·109
, число M – 10 000. Номера объектов в подзадаче 2 не будут превышать
2.1·109. Все входные данные корректны.
Страница: << 1 2 [Всего задач: 7]