Вот они

advertisement
ЗАДАЧА "Наибольшее произведение"
Напишите программу MaxProd, которая из заданных N
целых чисел выбирает три таких числа, произведение
которых максимально.
Входные данные программа считывает из текстового
файла MAXPROD.IN. В файле сначала записано число
N (3<N<10^6), затем - N целых чисел, которые по
модулю не превосходят 10^9.
Выходные данные программа помещает в текстовый
файл MAXPROD.OUT - это три искомых числа в любом
порядке. Если существует несколько троек чисел,
дающих максимальное произведение, программа
выводит любую из них.
В обоих файлах соседние числа разделены пробелом
либо кодом конца строки.
Пример входных и выходных данных
Ввод
Вывод
9
9 9 10
3 5 1 7 9 0 9 -3 10
ЗАДАЧА "Возрастающая подпоследовательность"
Задана последовательность из N целых чисел.
Напишите программу MLAS, которая находит в этой
последовательности
неубывающую
подпоследовательность наибольшей длины.
Из входного файла MLAS.IN программа считывает
целое число N (1<N<10000), затем - N чисел, которые
по модулю не превосходят 30000.
В выходной файл MLAS.OUT программа выводит
целое К - длину искомой подпоследовательности;
затем - К её элементов в порядке неубывания. Если
таких подпоследовательностей несколько, программа
выводит ту из них, у которой последний элемент
меньше (а если таких несколько, то ту из них, у которой
предпоследний элемент меньше и т.д.).
В обоих файлах соседние числа разделены пробелом
либо кодом конца строки.
Пример входных и выходных данных:
Ввод
Вывод
10
4
1 8 9 4 3 2 7 0 9 5
1279
ЗАДАЧА "Маятник"
Рассмотрим математический маятник, прикреплённый
к началу координат математической нитью. Начальное
положение маятника (-r,0). Если маятник отпустить, то
он начнёт колебаться, описывая полуокружность.
Теперь представим себе, что в плоскость вбито
несколько математических гвоздиков. Движение
маятника в этом случае будет более сложным, но, в
конце концов, он также начнёт совершать некоторые
периодические колебания. Кроме того, для нашего
идеального
математического
мира
выполнены
следующие условия:
 энергия маятника не теряется (то есть трение
отсутствует;
 нить изгибается только при соприкосновении с
гвоздиком;
 маятник никогда не сталкивается с гвоздиками (с
ними входит в соприкосновение только нить).
Напишите программу PENDULUM, которая вычисляет
длину установившейся орбиты маятника.
Во входном файле PENDULUM.IN сначала идёт целое
N - количество гвоздиков (0<N<500), затем
вещественное r- длина нити; далее записаны N пар
координат гвоздиков. Соседние числа разделены
пробелом либо кодом конца строки.
В выходной файл PENDULUM.OUT программа
выводит длину одного цикла периодической орбиты,
по которой станет качаться маятник. Учитывать
расстояние, пройденное маятником до того, как он
вышел на эту орбиту, не нужно. Ответ должен быть
указан с точностью до двух знаков после десятичной
точки.
Пример входных и выходных данных:
Ввод
Вывод
2 16.0 3 -3 -4
87.66
посредников? Вам эта задача предлагается в
качестве
упражнения.
Составьте
программу
WEBDEAL, которая находит во Всемирной паутине
все возможные сговоры.
Справка
Сговор - это максимальное множество страниц, в
котором каждая пара страниц — прямо или косвенно, ссылается друг на друга.
Говорят, что страница А косвенно ссылается на
страницу Б, если существует страница Ц, такая что А
ссылается (прямо или косвенно) на Ц, а Ц ссылается
(прямо или косвенно) на Б. Существует не более
одной прямой ссылки А на Б.
Входные данные программа считывает из текстового
файла WEBDEAL.IN. Данные располагаются в файле
так: сначала целое N - количество рассматриваемых
страниц, затем целое М - количество известных
прямых ссылок, затем М пар номеров А Б; каждая
такая пара обозначает наличие прямой ссылки
страницы А на страницу Б (1<=A,Б<=N, N<=500).
Выходные данные программа помещает в текстовый
файл WEBDEAL.OUT в таком порядке: сначала целое
К -количество обнаруженных сговоров, затем -■- К
сговоров в порядке возрастания; каждый сговор
выводится так: сначала целое L - количество страниц
в сговоре, затем -номера соответствующих страниц в
порядке возрастания. Из двух сговоров меньше тот, у
которого наименьший номер страницы меньше.
В обоих файлах соседние числа разделены пробелом
либо кодом конца строки.
Пример входных и выходных данных:
Ввод
Вывод
8
14
3
Задача "Сговор в паутине" (детская задача)
1
2
2
3
3
4
4
3
2
5
2
6
3
7
3 1 2 5
Сегодня, как и сто лет назад, страницы Всемирной
4
8
5
1
5
6
6
7
7
6
7
8
8
8
2 3 4
паутины ссылаются друг на друга при помощи так
2 6 7
называемых гиперссылок. Индекс популярности webстраницы тем выше, чем больше других страниц на
неё ссылается. Недобросовестные
пэйдж-холдеры
сговариваются о взаимных ссылках и наваривают
популярность
из
ничего,
нарушая
принцип
справедливой web-конкуренции. Интернетпол в таких
случаях
поступает
сурово:
выявляет
пары
ссылающихся друг на друга страниц и публикует
черные
web-списки,
лишая
нарушителей
популярности - а иначе с ними нельзя! Но как выявить
нарушителей, если в сговоре их не два, а больше, и
грязная ссылка возвращается не сразу же, а через
Download