
ЗАДАЧА №628 |
|
|
||||||
|
Clear World and Brothers (Время: 2 сек. Память: 16 Мб Сложность: 46%) Наконец в деревнях Виллорибо и Виллобаджо закончились праздники. Перемыта вся посуда! Этот процесс прошел так быстро и непринужденно, что братьями Карлионе было решено открыть сеть агентств «Clear World and Brothers», специализирующихся на профессиональном мытье посуды. В области Новая Берляндия, где и находятся знаменитые деревни, всего N деревень. Система координат введена так, что Виллорибо имеет координаты (x1, 0), а Виллобаджо - (x2, 0). Координаты всех деревень целые числа не превосходящие по модулю 106. Вы работаете на мистера Берлионе старшего и ваша задача найти оптимальное расположение для регионального отделения «Clear World and Brothers», то есть сумма расстояний от агентства до всех деревень должна быть наименьшей и агентство обязательно должно располагаться на прямолинейном шоссе Виллорибо-Виллобаджо (возможно расположение не только внутри, но и на границе отрезка). Входные данные В первой строке входного файла INPUT.TXT записано натуральное число N (2 ≤ N ≤ 15000). Далее в N строках записаны пары координат всех вершин. Виллорибо и Виллобаджо первая и вторая деревня соответственно. Возможно, что сколько-то деревень расположены так близко, что их координаты совпадают. Выходные данные В выходной файл OUTPUT.TXT выведите абсциссу оптимального расположения агентства. Разрешается абсолютная или относительная погрешность не более 10-6. Пример
|
ЗАДАЧА №640 |
|
|
|||||||||
|
Test-The-Best (Время: 1 сек. Память: 16 Мб Сложность: 50%) Конкурс Test-the-best (http://www.test-the-best.by), в котором участвуют лучшие программисты из Беларуси, России и других стран, проводит очный тур. Стараясь не отставать от времени, организаторы решили позаботиться о безопасности. В последнее время на рынке техники есть много аппаратуры, позволяющей осуществлять видеонаблюдение. Широко распространены программы, позволяющие автоматически обрабатывать полученные результаты. Однако имея дело с участниками этих соревнований, на существующие разработки полагаться небезопасно. Поэтому у оргкомитета возникла необходимость написания собственной системы анализа изображений. Перед вами поставлена задача сравнения двух черно-белых изображений на клетчатой сетке. Изображения считаются одинаковыми, если множества черных пикселей в них могут быть получены друг из друга поворотом на 90, 180, или 360 градусов и, возможно, симметрией относительно вертикальной оси. Входные данные Входной файл INPUT.TXT содержит описания двух изображений в следующем формате: первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 500) - высоту и ширину изображения соответственно. Затем следуют n строк, содержащих по m символов: «#» обозначает черный пиксель, «.» - белый. Выходные данные В выходной файл OUTPUT.TXT выведите одно слово: «Yes», если изображения одинаковы и «No» в противном случае. Примеры
|
ЗАДАЧА №621 |
|
|
||||||
|
Ближайшее число (Время: 1 сек. Память: 16 Мб Сложность: 46%) Дана матрица A размером NxN, заполненная неотрицательными целыми числами. Расстояние между двумя элементами Ai j и Ap q определено как |i - p| + |j - q|. Требуется заменить каждый нулевой элемент матрицы ближайшим ненулевым. Если есть две или больше ближайших ненулевых ячейки, нуль должен быть оставлен. Входные данные В первой строке входного файла INPUT.TXT содержится натуральное число N (N≤200). Затем идут N строк по N чисел, разделённых пробелами и представляющих собой матрицу. Элементы матрицы не превосходят значения 106. Выходные данные В выходной файл OUTPUT.TXT выведите N строк по N чисел, разделённых пробелами, - модифицированную матрицу. Пример
|
1111. Квадраты
Ограничение времени: 0.5 секунды Ограничение памяти: 64 МБ
Даны n (1 ≤ n ≤ 50) квадратов и точка P. Расстояние между P и квадратом равно минимальной длине отрезка, соединяющего P с точкой на периметре или во внутренней области квадрата. В случае, когда P лежит внутри квадрата, расстояние равно нулю. Некоторые квадраты могут быть точками, то есть все вершины квадрата могут совпадать. Напишите программу, которая отсортирует квадраты в порядке возрастания расстояния до точки P.
Исходные данные
Первая строка содержит целое число n. Следующие n строк содержат по четыре целых числа из диапазона (−9999, 9999). Первые два числа задают x и y координаты одной из вершин квадрата, следующие два числа задают положение противоположной вершины. Последняя строка содержит x и y координаты точки P.
Результат
Выведите строку, содержащую номера квадратов, отсортированных по расстоянию до точки P. Номера квадратов заданы порядком, в котором квадраты даны во вводе. Если у двух квадратов одинаковое расстояние до точки P, то первым в списке должен идти меньший номер. При сравнении расстояний точности 10−14 достаточно.
Пример
исходные данные |
результат |
2 0 0 1 1 0 3 1 4 0 0 |
1 2 |
Метки: геометрия (
Начало формы
скрыть метки для нерешенных задач
Конец формы
)
Сложность: 405
1423. Басня о строке
Ограничение времени: 1.0 секунды Ограничение памяти: 64 МБ
Вступление
Я хочу рассказать Вам одну историю. Не всю, конечно, а только начало, потому что конец этой истории стал легендой программирования — так же, как и её непосредственные участники.
Когда компьютеры были большими, деревья маленькими, а солнце светило ярче… Короче говоря, жили-были Три Программиста. Вряд ли они участвовали в контестах, поскольку никаких контестов в те далёкие времена ещё не было. Не было ACM ICPC, не было даже Timus Online Judge. А Три Программиста — были.
Задача
Однажды Три Программиста придумали занятную игру для тренировки памяти и умственных способностей. Первый Программист сочинил строку S из N символов и сообщил её Второму и Третьему Программистам. Второй Программист произвёл над этой строкой X (0 ≤ X < N) последовательных циклических сдвигов (под циклическим сдвигом строки понимается перенос её последнего символа в начало). В результате этих манипуляций получилась строка T, которую он сообщил Третьему Программисту. Задачей Третьего Программиста было определить число X, либо сообщить Второму Программисту, что он ошибся, поскольку строка T не могла быть получена из строки S с помощью циклических сдвигов.
Исходные данные
Первая строка содержит целое число N (1 ≤ N ≤ 250000). Вторая строка содержит строку S. Третья строка содержит строку T. Обе строки имеют длину N и могут содержать любые символы таблицы ASCII с кодами от 33 до 255.
Результат
Если строка T может быть получена из строки S с помощью циклических сдвигов, выведите искомое число X, иначе выведите «−1». Если задача имеет несколько решений, можно вывести любое из них.
Пример
исходные данные |
результат |
11 abracadabra racadabraab |
9 |
Подсказка
Рассмотрим строки S = «abracadabra» и T = «racadabraab». Строка T может быть получена из строки S с помощью 9 циклических сдвигов: «abracadabra» > «aabracadabr» > «raabracadab» > «braabracada» > «abraabracad» > «dabraabraca» > «adabraabrac» > «cadabraabra» > «acadabraabr» > «racadabraab».
Автор задачи: Никита Рыбак, Илья Гребнов, Дмитрий Ковалёв Источник задачи: Timus Top Coders: First Challenge
Метки: строковые алгоритмы (
Начало формы
скрыть метки для нерешенных задач
Конец формы
)
Сложность: 210