Задания: http://www.olymp.vinnica.ua/i2005/tour1.shtml
Задача Bear
Маленький медвежонок идет по дороге, вдоль которой на расстоянии М одно от другого растут деревья.Останавливаясь под каждым деревом, медвежонок забывает, откуда пришел, и, двигаясь через некоторое время дальше, случайно выбирает то или иное направление движения. На каком расстоянии от "стартового" дерева может быть медвежонок после К этапов?
Технические условия. Программа считывает с клавиатуры числа M и К через пробел (1<=М,К<=10000). Программа выводит на экран в одной строке через пробелы расстояния, на которых может находиться медвежонок (от меньшего до большего).
Пример.
Ввод>2 6
Вывод> 0 4 8 12
--------------------------------------------------------------------------------
Задача Piece
Имеется окружность радиуса R с координатами центра x,y и прямая, заданная координатами двух своих точек.Какой длины отрезок прямой лежит внутри окружности?
Технические условия. Программа читает с клавиатуры строку из 7-ми чисел: радиус окружности, координаты x y центра и координаты 2-х точек прямой. Все числа целые, по абсолютной величине не превосходят 10000. Результат вывести на экран, не округляя. Если окружность и прямая не пересекаются, вывести -1, если касаются - вывести 0.
Пример.
Ввод> 5 0 0 4 1 4 2
Вывод>6.0000000000000000E+0000
--------------------------------------------------------------------------------
Задача Blamblam
Главнокомандующий армии блямблямчиков, проводя заседание Генерального штаба, приказал блямблямскому офицеру по особым поручениям расстелить на столе секретную карту боевых действий, причем так, чтобы она полностью лежала на поверхности стола. Сумеет ли офицер выполнить это поручение, если размеры стола A*B, а карта нарисована на прямоугольном листке бумаги размерами X*Y?
Технические условия: Программа читает с клавиатуры натуральное число N(1<=N<=10) - количество попыток положить карту на стол, а далее N групп по 4 натуральных числа(каждая группа-числа X,Y,A,B). Все числа в одной строке, разделены пробелами и не превышают 100. Программа выводит на экран последователь- ность из N нулей и единиц - нуль, если попытка не удалась, единица - если карта поместилась на столе. Разделять пробелами нули и единицы не нужно.
Пример.
Ввод>2 1 10 9 9 99 99 2 2
Вывод>10
--------------------------------------------------------------------------------
Задача Newpatience
Многие в свободное время увлекаются разложением пасьянсов. Предлагаем вам еще один, правда, карты для него нужно изготовить самостоятельно. Итак, на N карточках нанесите натуральные числа по одному числу на каждой стороне карточки так, что каждое из чисел наносилось ровно 2 раза. Карточки разложите на столе в ряд. Все готово. Можно начинать. В процессе игры карточки можно переворачивать другой стороной. Пасьянс сходится тогда, когда перевернув некоторые карточки, вы получите возможность видеть все N чисел одновременно. Сойдется ли пасьянс, а если да, то какое наименьшее количество карточек необходимо для этого перевернуть?
Технические условия: Программа читает с клавиатуры число N (N<10000), а далее 2 группы по N чисел-сначала числа на одной из сторон каждой из N карточек (игрок их видит в начале игры), а затем числа, нанесеннные на эти же карточки,но на противоположную сторону. Все числа вводятся одной строкой через пробелы. Вы выводите на экран одно число: -1, если пасьянс не "сошелся", либо минимальное количество перевернутых другой стороной карточек, если игра завершилась успехом.
Пример.
Ввод>5 3 2 5 3 2 5 4 1 1 4
Вывод>2
--------------------------------------------------------------------------------
Задача Circuit
Дана цепочка, состоящая из k=4n звеньев. Причем 2n звеньев - золотые и 2n звеньев - серебряные. Два разбойника желают справедливо разделить серебро и золото данной цепочки. Составьте программу,которая находит минимальное количество разрезов цепочки,так, чтобы как серебро так и золото можно было бы разделить между двумя разбойниками.
Технические условия: Технические условия Программа читает с клавиатуры количество звеньев k,а далее - k чисел 0 либо 1 (0 - серебряное звено, 1 - золотое).Все числа вводятся одной строкой через пробелы. Программа выводит на экран количество разрезов и номера звеньев, между которыми они были сделаны. Первый разрез должен быть как можно ближе к началу цепи. N<10000
Пример.
Ввод>8 0 1 0 0 1 1 0 1
Вывод> 2 1 2 5 6
Первый разрез выполняется между звеньями 1 и 2, второй - между звеньями 5 и 6. Один разбойник получает цепочки 0 и 101, второй - 1001.
Г.Кравец Г.Непомнящий Ю.Пасихов
Решения принимаются до 18 ноября включительно
Ответить
|