`
Задача Bracket. В сложных математических выражениях приходится иногда ставить много скобок. Часто бывает трудно посчитать, сколько скобок открыто и сколько закрыто. Чтобы упростить запись, кроме круглых скобок "(" и ") ", применяется права квадратная скобка "]", которая закрывает все открытые на данный момент скобки, если таковые имеются (если открытых скобок до правой квадратной нет, выражение является ошибочным). Правильным «скобочным» выражением будем называть строку символов, полученную из правильного выражения после вычеркивания из него всех символов, кроме скобок "(", " ) " и "]" .
Например, правильными «скобочными» выражением является (()(()(()](), ((((((], (())(). А вот примеры неправильных «скобочных» выражений: ())((((] - ошибка в третьем знаке, (())] - квадратной скобке нечего закрывать; ((])) - скобка, следующего за квадратной, не имеет открытой пары. Пустая строка является правильным «скобочным» выражением. Напишите программу, которая для данной строки, содержащей только символы "(", " ) " и "]", определит, сколько способов вычеркнуть какое-то количество (возможно 0 ) символов так, чтобы те, что остались, образовали правильное «скобочное» выражение.
Технические условия. Программа Bracket читает с клавиатуры строку из символов "(",")" или "]". Количество скобок в строке - от 1 до 768. Программа выводит на экран единственное число - искомую величину по модулю 1000007.
Примеры
Ввод |
Вывод |
()() |
5 |
Ввод |
Вывод |
)])] |
1 |
Ввод |
Вывод |
(())] |
11 |
Задача TETRIS365. Есть набор пластинок 5-и типов, каждая из которых состоит из 4-х одинаковых квадратиков (см. рисунок). Фигурки можно поворачивать, но нельзя ломать. Дано одинаковое количество пластинок каждого из типов. Сколько различных по размерам прямоугольников можно составить из всех имеющихся пластинок (прямоугольники m*n и n*m считаются одинаковыми)? Для каждого из прямоугольников нужно использовать все имеющиеся плитки. Понятно, что каждая клеточка прямоугольника должна быть покрыта ровно одним квадратиком.
|
a |
|
|
|
b |
|
|
|
c |
|
|
|
d |
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Технические условия. Программа TETRIS365 читает с клавиатуры натуральное число N (1≤N≤1012) - количество имеющихся пластинок каждого типа и выводит на экран количество прямоугольников, которые можно составить из данных пластинок.
Пример
Ввод
2
Вывод
2
Задача Traceroute. Локальная сеть представляет собой N серверов. Некоторые пары серверов соединены выделенными линиями. Для каждой выделенной линии известно время прохождения информации (одинаковое в обе стороны). Понятно, что информация между любыми серверами всегда передается максимально быстро. Администратор планирует профилактические работы, поэтому каждый день ровно одна выделенная линия будет отключена от сети. Помогите пользователям определить время получения информации во время работ.
Технические условия.
Программа Traceroute читает с клавиатуры через пробел количество серверов N, номера серверов, с которого и на который передается информация A, B (2 ≤ N ≤ 2000,1 ≤ A, B ≤ N, A<>B). Следующие N строк содержат описание локальной сети. В i-й строке на j-й позиции записано время прохождения информации от i - го до j -го сервера - натуральное число от 1 до 100000. Если между i - м и j-м серверами нет выделенного линии, записывается 0. Следующая строка содержит натуральное число K (2≤K≤N) - количество вершин в кратчайшем пути, далее через пробел K чисел a=v[1], v[2] , ... , v[K]=b – кратчайший путь. Программа выводит на экран через пробел K-1 число - время получения информации, если выделенная линия от v[i] в v[i+1] будет отключена (1≤i<K).
Если пользователь не сможет получить информацию, вывести -1.
Пример Ввод 5 1 5 0 1 0 0 0 1 0 3 0 100 0 3 0 3 5 0 0 3 0 3 0 100 5 3 0 4 1 2 3 5 Вывод -1 101 10 |
|
Рисунок к примеру |
Задача Garden365. Согласно земельному кодексу, каждый житель Страны Дураков имеет право на землю. На последней сессии парламент принял поправки, согласно которым:
1. Гражданин имеет право только на один участок земли;
2. Каждый участок имеет форму четырехугольника;
3. Земельный комитет назначает гражданину длины сторон участка;
Фермер подал заявку на землю и хочет определить, какую максимальную площадь может иметь его участок. Помогите земельному комитету подсчитать эту площадь.
Технические условия. Программа Garden365 читает с клавиатуры 4 вещественных числа, не меньших 1 и не больших 1000000. Программа выводит на экран искомую площадь. Если участка с заданными сторонами не существует, вывести 0 .
Примеры
Ввод
1.0 2.0 1.0 2.0
Вывод
2.00000000
Ввод
1 2 3 6
Вывод
0.00000000
Ввод
1 2 4 10
Вывод
0.00000000
Ввод
1 –1 5 -4 4 1 1 5 –5 2 –4 4 –1
Вывод
3
Ввод
10 11 5001 -4733 5 5001 -4732 5001 –4734 1 1 5000 –4733 5002 –4733
Вывод
-1
© LIKT 1998-2024