ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Фильтр
Сложность с по   Класс с по  
Выбрана 1 задача
Версия для печати
Убрать все задачи

Напечатать все представления натурального числа N суммой натуральных чисел. Перестановка слагаемых нового способа не даёт.

   Решение

Задачи

Страница: << 3 4 5 6 7 8 9 [Всего задач: 44]      



Задача 98801

 [Без тройных повторений]
Тема:   [ Перебор с отсечениями ]
Сложность: 3

Найти последовательность из 50 нулей и единиц, в которой никакой отрезок не повторяется три раза подряд. Напечатать НЕТ, если такой последовательности не существует. Например, в искомой последовательности нигде не должны встречаться такие отрезки, как 000, или 101010, или 101101101.

Прислать комментарий     Решение

Задача 98810

 [Рюкзак]
Тема:   [ Динамическое программирование: классические задачи ]
Сложность: 3

Из заданных n предметов выбрать такие , чтобы их суммарный вес был менее 30 кг, а стоимость - наибольшей. Напечатать суммарную стоимость выбранных предметов. Точнее- заданы два массива положительных чисел А[1:n] и В[1:n]. Выбрать такие попарно различные числа i1, i2,... ik, чтобы сумма

А[i1] + A[i2] +...+ A[ik] < 30, а сумма

B[i1] + B[i2] +...+ B[ik] = max была максимальной. Напечатать только величину max

Замечание. Можно предполагать , что предметы уже расположены в порядке возрастания или убывания веса А[i], стоимости В[i], цены В[i] / A[i] или какого-либо иного признака.

Прислать комментарий     Решение

Задача 98790

 [Разложение на слагаемые]
Тема:   [ Генерация объектов любым методом ]
Сложность: 3

Напечатать все представления натурального числа N суммой натуральных чисел. Перестановка слагаемых нового способа не даёт.

Прислать комментарий     Решение

Задача 98695

 [Сократи векторы]
Тема:   [ Векторы ]
Сложность: 4
Классы: 8,9,10,11

Максимальное время работы на одном тесте: 1 секунда

На плоскости задано N векторов - направленных отрезков, для каждого из которых известны координаты начала и конца (вектор, у которого начало и конец совпадают, называется нуль-вектором, можно считать, что нуль-вектор лежит на любой прямой, которая через него проходит). Введем следующие три операции над направленными отрезками на плоскости:

1) Направленные отрезки ненулевой длины, лежащие на пересекающихся прямых, можно заменить на их сумму, причем единственным образом. В этом случае отрезки переносятся вдоль своих прямых так, чтобы их начала совпадали с точкой пересечения прямых, и складываются по правилу сложения векторов (правилу параллелограмма, при этом началом результирующего вектора является точка пересечения прямых):

2) Направленные отрезки, лежащие на одной прямой, также можно заменить на их сумму. Для этого один из отрезков (любой) нужно перенести в начало второго из них и сложить по правилу сложения векторов на прямой:

Это правило применимо и в случае, когда один из векторов, или даже оба, являются нуль-векторами.

Заметим, что если складываемые векторы противоположно направлены и имеют одну и ту же длину, то результатом их сложения является нуль-вектор.

3) В любой точке плоскости можно породить два противоположно направленных отрезка равной (в том числе и нулевой) длины:

Будем говорить, что некоторая система векторов B эквивалентна системе A, если от системы A можно перейти к B с помощью конечной последовательности перечисленных выше операций.

Требуется получить любую систему векторов, эквивалентную заданной, состоящую из минимально возможного числа векторов.

Формат входных данных

В первой строке входного файла f.in записано число N - количество заданных векторов (1 < N ≤ 1000). В каждой из следующих N строк через пробел записаны четыре числа, обозначающие координаты начала и конца каждого из векторов соответственно. Все координаты - целые числа, по модулю не превосходящие 1000.

Формат выходных данных

В первой строке входного файла f.out следует записать число M - количество векторов в полученной системе (1 ≤ MN). В каждой из следующих M строк через пробел должны находиться четыре числа, обозначающие координаты начала и конца каждого из векторов соответственно. Все координаты - вещественные числа, записанные с 6 цифрами после точки.

Примеры

f.in

f.out

3

1 1 1 3

3 3 3 1

5 1 7 1

1

3.000000 3.000000 5.000000 3.000000

2

2 4 5 10

-2 -4 -5 -10

1

2.000000 4.000000 2.000000 4.000000

Прислать комментарий     Решение

Страница: << 3 4 5 6 7 8 9 [Всего задач: 44]      



© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .