Задача 1 (методы сортировки)
Кувшины
Имеется n кувшинов, в каждом из которых лежит камень белого, синего или красного цвета. «Заглядывая» в каждый кувшин по одному разу, расположите их в таком порядке, чтобы первыми следовали кувшины с белыми камнями, за ними – с синими, далее сосуды с красными камнями.
Формат входных данных
В первой строке находится число n - количество кувшинов. В следующей строке n чисел, отражающих цвет камней в соответствующих кувшинах: 1 – белый, 2 – синий, 3- красный.
Формат выходных данных
Строка чисел с первоначальными номерами кувшинов, расположенных в указанном порядке.
| Пример входных данных | Пример выходных данных |
| 7 1 2 3 1 2 3 1 | 1 4 7 2 5 3 6 |
Задача 2 (вычислительная геометрия)
Два прямоугольника
Даны два прямоугольника, стороны которых параллельны осям координат. Каждый из них определяется координатами левого нижнего и правого верхнего углов. Найдите площадь части первого прямоугольника, не входящую во второй, и, наоборот, площадь части второго прямоугольника, не входящую в первый. Координаты вершин прямоугольников выражены целыми числами.
Формат входных данных
В четырех строках находятся по два числа координаты левого нижнего и правого верхнего углов для каждого прямоугольника.
Формат выходных данных
Два числа.
| Пример входных данных | Пример выходных данных |
| 1 1 6 4 2 2 5 5 | 9 3 |
Задача 3 (теория чисел)
Коробки для шариков
Некто коллекционирует шарики (маленькие, стеклянные, цветные шарики) и хочет купить коробки для их хранения. Коробки бывают двух типов.
Тип 1: каждая такая коробка стоит c1 рублей и в ней может хранится ровно n1 шариков.
Тип 2: каждая такая коробка стоит c2 рублей и в ней может хранится ровно n2 шариков.
Необходимо, чтобы коробки были заполнены полностью и при этом свести к минимуму суммарную стоимость покупки. Помогите найти наилучший способ распределения шариков по коробкам.
Формат входных данных
Первая строка содержит n, число шариков. Вторая строка содержит c1 и n1, третья строка содержит c2 и n2. Целые числа c1, n1, c2, n2 положительны и меньше 2 000 000 000.
Формат выходных данных
Два числа: m1 и m2, если таковые существуют. Иначе вывести сообщение «нет решений».
| Пример входных данных | Пример выходных данных |
| 43 1 3 2 4 | 13 1 |
| 40 5 9 5 12 | нет решений |
Задача 4 (строки)
Генератор слов
Переставляя буквы в заданном слове, можно составлять различные другие слова, в том числе бессмысленные. Например, из слова «ФАРА» получаются слова «АРФА», «ФААР» и т.д. Составить программу, которая по заданному слову описанным выше способом, формирует новое, следующее за исходным по алфавиту. В приведенном примере это слово «ФРАА».
Формат входных данных
Исходное слово.
Формат выходных данных
Новое слово.
| Пример входных данных | Пример выходных данных |
| СУГРОБ | СУОБГР |
Задача 5 (перебор с возвратом)
Перетягивание каната
Перетягивание каната – это состязание в грубой силе, когда две группы людей тянут канат в противоположные стороны. Та команда, которая сумела утянуть канат в свою сторону, объявляется победителем. Требуется данную группу людей разбить на две команды. Каждый человек должен попасть в одну или другую команду, число человек в одной не должно превышать число человек в другой более чем на одного, и суммарные веса людей каждой команды должны быть близки, насколько это возможно.
Формат входных данных
Первая строка содержит n, число участников состязания. Каждая из следующих n строк содержит вес одного из участников, вес задается целым числом от1 до 450.
Формат выходных данных
Два числа: суммарный вес людей в одной команде и суммарный вес людей в другой команде.
| Пример входных данных | Пример выходных данных |
| 3 100 90 200 | 190 200 |
Задача 6 (динамическое программирование)
Караван
Географическая карта местности задана прямоугольной сеткой определенного масштаба. В узлах сетки задана высота над уровнем моря. Между соседними узлами высота изменяется плавно. Караван может перемещаться только по линиям сетки, путь по диагоналям или иным траекториям считается непроходимым и запрещен. Требуется провести караван из одной точки в другую с наименьшим перепадом высот. Перепадом высот на маршруте называется разность между самой высокой и самой низкой точками маршрута.
Формат входных данных
Первая строка содержит два числа n m размеры карты, количество строк и столбцов. Каждая из следующих n строк содержит m чисел – высота над уровнем моря в данном узле географической карты.
В двух последних строках координаты исходной и конечной точки пути.
Формат выходных данных
Последовательно в каждой строке координаты всех узлов, через которые проходит искомый путь.
| Пример входных данных | Пример выходных данных |
| 4 5 100 110 120 115 110 105 110 115 110 115 110 115 120 115 110 115 120 125 120 115 1 2 4 5
| 1 2 2 2 2 3 2 4 3 4 3 5 4 5 |










