Loading [Contrib]/a11y/accessibility-menu.js
ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

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

Максимальное время работы на одном тесте: 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

Вниз   Решение


Дана таблица n×n клеток и такие натуральные числа k и  m > k,  что m и  n – k  взаимно просты. Таблица заполняется следующим образом: пусть в некоторой строчке записаны числа  a1, ..., ak, ak+1, ..., am, am+1, ..., an.  Тогда в следующей строчке записываются те же числа, но в таком порядке:  am+1, ..., an, ak+1, ..., am, a1, ..., ak.  В первую строчку записываются (по порядку) числа  1, 2, ..., n.  Доказать, что после заполнения таблицы в каждом столбце будут написаны все числа от 1 до n.

ВверхВниз   Решение


Имя входного файла:

necklace.in

Имя выходного файла:

necklace.out

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

1 секунда

Максимальный объем используемой памяти:

64 мегабайта

Максимальная оценка за задачу:

100 баллов

   

В витрине ювелирного магазина стоит манекен, на шею которого надето ожерелье. Оно состоит из N колечек, нанизанных на замкнутую нить. Все колечки имеют разные размеры. В зависимости от размера колечки пронумерованы числами от 1 до N, начиная с самого маленького и до самого большого. Колечки можно передвигать вдоль нити и протаскивать одно через другое, но только в том случае, если номера этих колечек отличаются более чем на единицу.

Продавец хочет упорядочить колечки так, чтобы они располагались по возрастанию номеров вдоль нити по часовой стрелке. Снимать ожерелье с манекена нельзя.

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

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

В первой строке входного файла записано число N (2 ≤ N ≤ 50).

Во второй строке через пробел следуют N различных чисел от 1 до N - номера колечек, расположенных вдоль нити по часовой стрелке.

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

Выходной файл должен содержать описание процесса упорядочения.

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

Количество строк выходного файла не должно превышать 50000.

Если требуемого упорядочения колечек достичь не удается, в выходной файл нужно вывести одно число √1.

Пример

necklace.in

necklace.out

4

3 2 4 1

1 3

2 4

1 4

0

Вверх   Решение

Задачи

Страница: 1 2 3 4 5 6 7 >> [Всего задач: 52]      



Задача 30780  (#002)

Тема:   [ Степень вершины ]
Сложность: 2
Классы: 6,7

Докажите, что не существует графа без петель и кратных рёбер с пятью вершинами, степени которых равны 4, 4, 4, 4, 2.

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

Задача 30781  (#003)

Темы:   [ Степень вершины ]
[ Примеры и контрпримеры. Конструкции ]
[ Индукция (прочее) ]
Сложность: 3+
Классы: 7,8

Докажите, что существует граф с 2n вершинами, степени которых равны 1, 1, 2, 2, ..., n, n.

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

Задача 30782  (#004)

Темы:   [ Степень вершины ]
[ Примеры и контрпримеры. Конструкции ]
Сложность: 3
Классы: 7,8

Верно ли, что два графа изоморфны, если
  а) у них по 10 вершин, степень каждой из которых равна 9?
  б) у них по 8 вершин, степень каждой из которых равна 3?
  в) они связны, без циклов и содержат по 6 рёбер?

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

Задача 30783  (#005)

Темы:   [ Связность и разложение на связные компоненты ]
[ Четность и нечетность ]
[ Доказательство от противного ]
Сложность: 4-
Классы: 7,8,9

В связном графе степени четырёх вершин равны 3, а степени остальных вершин равны 4.
Докажите, что нельзя удалить ребро так, чтобы граф распался на две изоморфные компоненты связности.

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

Задача 30784  (#006)

Тема:   [ Деревья ]
Сложность: 2+
Классы: 7,8

Докажите, что граф, в котором каждые две вершины соединены ровно одним простым путем, является деревом.

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

Страница: 1 2 3 4 5 6 7 >> [Всего задач: 52]      



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

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