ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Версия для печати
Убрать все задачи
Максимальное время работы на одном тесте: 1 секунда На плоскости задано N векторов - направленных отрезков, для каждого из которых известны координаты начала и конца (вектор, у которого начало и конец совпадают, называется нуль-вектором, можно считать, что нуль-вектор лежит на любой прямой, которая через него проходит). Введем следующие три операции над направленными отрезками на плоскости: 1) Направленные отрезки ненулевой длины, лежащие на пересекающихся прямых, можно заменить на их сумму, причем единственным образом. В этом случае отрезки переносятся вдоль своих прямых так, чтобы их начала совпадали с точкой пересечения прямых, и складываются по правилу сложения векторов (правилу параллелограмма, при этом началом результирующего вектора является точка пересечения прямых): 2) Направленные отрезки, лежащие на одной прямой, также можно заменить на их сумму. Для этого один из отрезков (любой) нужно перенести в начало второго из них и сложить по правилу сложения векторов на прямой: Это правило применимо и в случае, когда один из векторов, или даже оба, являются нуль-векторами. Заметим, что если складываемые векторы противоположно направлены и имеют одну и ту же длину, то результатом их сложения является нуль-вектор. 3) В любой точке плоскости можно породить два противоположно направленных отрезка равной (в том числе и нулевой) длины: Будем говорить, что некоторая система векторов B эквивалентна системе A, если от системы A можно перейти к B с помощью конечной последовательности перечисленных выше операций. Требуется получить любую систему векторов, эквивалентную заданной, состоящую из минимально возможного числа векторов. Формат входных данных В первой строке входного файла f.in записано число N - количество заданных векторов (1 < N ≤ 1000). В каждой из следующих N строк через пробел записаны четыре числа, обозначающие координаты начала и конца каждого из векторов соответственно. Все координаты - целые числа, по модулю не превосходящие 1000. Формат выходных данных В первой строке входного файла f.out следует записать число M - количество векторов в полученной системе (1 ≤ M ≤ N). В каждой из следующих M строк через пробел должны находиться четыре числа, обозначающие координаты начала и конца каждого из векторов соответственно. Все координаты - вещественные числа, записанные с 6 цифрами после точки. Примеры
Дана таблица 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.
В витрине ювелирного магазина стоит манекен, на шею которого надето ожерелье. Оно состоит из N колечек, нанизанных на замкнутую нить. Все колечки имеют разные размеры. В зависимости от размера колечки пронумерованы числами от 1 до N, начиная с самого маленького и до самого большого. Колечки можно передвигать вдоль нити и протаскивать одно через другое, но только в том случае, если номера этих колечек отличаются более чем на единицу. Продавец хочет упорядочить колечки так, чтобы они располагались по возрастанию номеров вдоль нити по часовой стрелке. Снимать ожерелье с манекена нельзя. Требуется написать программу, которая по заданному начальному расположению колечек находит последовательность протаскиваний колечек одно через другое, приводящую исходное расположение колечек в желаемое. Формат входных данных В первой строке входного файла записано число N (2 ≤ N ≤ 50). Во второй строке через пробел следуют N различных чисел от 1 до N - номера колечек, расположенных вдоль нити по часовой стрелке. Формат выходных данных Выходной файл должен содержать описание процесса упорядочения. В каждой строке, кроме последней, должны быть записаны через пробел два числа, указывающие номера колечек, протаскиваемых друг через друга. В последней строке должен стоять ноль. Количество строк выходного файла не должно превышать 50000. Если требуемого упорядочения колечек достичь не удается, в выходной файл нужно вывести одно число √1. Пример
В клетчатом квадрате 10×10 отмечены центры всех единичных квадратиков (всего 100 точек). Какое наименьшее число прямых, не параллельных сторонам квадрата, нужно провести, чтобы вычеркнуть все отмеченные точки? |
Страница: 1 2 >> [Всего задач: 6]
Положительные числа a, b, c таковы, что a² + b² – ab = c². Докажите, что (a – c)(b – c) ≤ 0.
В клетчатом квадрате 10×10 отмечены центры всех единичных квадратиков (всего 100 точек). Какое наименьшее число прямых, не параллельных сторонам квадрата, нужно провести, чтобы вычеркнуть все отмеченные точки?
Точки P1, P2, ..., Pn–1 делят сторону BC равностороннего треугольника ABC на n равных частей: BP1 = P1P2 = ... = Pn–lC. Точка M выбрана на стороне AC так, что AM = BP1. а) n = 3; б) n – произвольное натуральное число.
В углу шахматной доски размером m×n полей стоит ладья. Двое по очереди передвигают её по вертикали или по горизонтали на любое число полей; при этом не разрешается, чтобы ладья стала на поле или прошла через поле, на котором она уже побывала (или через которое уже проходила). Проигрывает тот, кому некуда ходить. Кто из играющих может обеспечить себе победу: начинающий или его партнер, и как ему следует играть?
В стране, дома жителей которой представляют собой точки плоскости, действуют два закона:
Страница: 1 2 >> [Всего задач: 6]
|
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|
![]() |
Проект осуществляется при поддержке