Темы --> Информатика
    Язык программирования(952 задач)
    Алгоритмы(1657 задач)
    Структуры данных(279 задач)
    Интерактивные задачи(17 задач)
    Другое(54 задач)
---> 2656 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 480 481 482 483 484 485 486 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Флатландский валун имеет форму многоугольника (не обязатеьно выпуклого). Для простоты будем рассматривать только многоугольники, у которых любые 3 вершины не лежат на одной прямой. Такие валуны получаются из разных видов камней, необязательно однородной плотности. Тем не менее, вы знаете расположение его центра тяжести. Сейчас мы положили на горизонтальную прямую две вершины камня (назовём их базовыми), и отпустили. В случае, если центр тяжести находится над отрезком, соединяющим базовые вершины, или над базовыми вершинами, то валун будет стоять. Иначе сила тяжести заставит его катится в определённом направлении.

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

Иначе он продолжит вращаться, пока в конце концов не остановится, так как во Флатляндии вечный двигатель невозможен. Движение валуна происходит в вязкой среде, то есть инерция отсутствует, и валун остановится, как только сила тяжести позволит ему. Зная координаты вершин валуна и его центра тяжести, вычислите количество поворотов, которые совершит валун перед остановкой.

Входные данные

Входной файл содержит целое число N (3 ≤ N ≤ 100) . В следующих N + 1 строках находятся пары целых чисел. Первые N пар описывают координаты вершин валуна, перечисленные в порядке обхода по или против часовой стрелки (линия, на которой стоит валун, описывается уравнением y = 0 ; гравитация действует параллельно Oy в стороны отрицательных y ). Последняя пара чисел описывает центр тяжести. Все координаты — целые числа, не превосходящие по абсолютному значению 30 000 , все y -координаты — неотрицательные. Никакие 3 вершины не лежат на одной прямой. Центр тяжести находится внутри валуна.

Выходные данные

Выведите одно число — количество поворотов

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Ассоциация Великих Машин (АВМ) в последнее время совершила прорыв в археологических раскопках. Они нашли древний артефакт расписанный кодами , безусловно, созданный какой-то великой машиной много лет назад развитой ныне исчезнувшей цивилизацией. Исследователи предполагают, что эти коды скрывают знания этой цивилизации. Однако, прогресс в расшифровке кода остановился, потому что некоторые слова были сильно повреждены, а некоторые слова были непригодны для чтения.

Исследователи выяснили, что Великая Машина использовала слова только определённой структуры. Каждое слово состоит из цифр от 0 до 7 (включительно) и построено из слова "s" одним или несколькими из следующих правил:

s → 0

s → 1s

s → 2ss

s → 3sss

s → 4ssss

s → 5sssss

s → 6ssssss

s → 7sssssss

Каждое из этих правил может быть применено несколько раз, если это необходимо, и они могут быть использованы в любом порядке. Использование правила заменяет одно выбранное "s" на правую часть определённого превращения. Например, слово "2s0" может трансформироваться в "22ss0" по третьему правилу. Пожалуйста, помогите исследователям реконструировать эти слова и расшифровать все сообщения древней цивилизации. Вам предоставлен остаток правильного слова только из цифр от 0 до 7. Исследователи уверенны, что небольшая часть букв была утеряна, поэтому они хотят определить правильное слово минимальной длины, которое будет содержать данное слово как подпоследовательность.

Входные данные

Входной файл содержит одну непустую строку, состоящей из цифр от 0 до 7. Общее количество цифр будет меньше или равно 30 000.

Выходные данные

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

Примеры
Входные данные
00
Выходные данные
200
Входные данные
22
Выходные данные
22000
Входные данные
3002010
Выходные данные
3002010
#112577
  
Темы: [Хеш]
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
32 megabytes

Мальчик Кирилл написал однажды на листе бумаги строчку, состоящую из больших и маленьких латинских букв, а после этого ушел играть в футбол. Когда он вернулся, то обнаружил, что его друг Дима написал под его строкой еще одну строчку такой же длины. Дима утверждает, что свою строчку он получил циклическим сдвигом строки Кирилла направо на несколько шагов(циклический сдвиг строки abcde на 2 позиции направо даст строку deabc). Однако Дима известен тем, что может случайно ошибиться в большом количестве вычислений, поэтому Кирилл в растерянности – верить ли Диме? Помогите ему!

По данным строкам выведите минимальный возможный размер сдвига или –1, если Дима ошибся.

Входные данные

Первые две строки входного файла содержат строки Кирилла и Димы соответственно. Длины строк одинаковы, не превышают 100000 и не равны 0.

Выходные данные

В выходной файл выведите единственное число – ответ на поставленную задачу

Примеры
Входные данные
a
b
Выходные данные
-1
Входные данные
zabcd
abcdz
Выходные данные
4
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

На одной из планет, под названием TheBestWorld, живут много умных людей. Эта планета также известна своими двумя конкурирующими школами супергероев. Каждый малыш, живущий на этой планете, мечтает стать супергероем, но не у всех это получается.

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

В этом мире случилось несчастье. На TheBestWorld нападают темные силы. У генерала главнокомандующего армией супергероев есть в распоряжении n + m супергероев, из них n — выпускники первой школы, m — второй. Главнокомандующий подсчитал количество супергероев k , которые смогут спасти лучшее, что у них есть, — планету.

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

Проблема в том, что генерал забыл искомое d . Вам известны координаты каждого из супергероев. Генерал просит вас вычислить максимальное d , при котором он все еще может спасти мир. И выдать список супергероев, которые спасут мир при данном d .

Входные данные

В первой строке входного файла заданы три числа n , m и k ( 1 ≤ k , n , m n + m ≤ 200 ) — количество супергероев, выпустившихся из первой и второй школы, и количество супергероев, которое необходимо, чтобы спасти мир, соответственно. Следующие n + m строк описывают супергероев: в каждой строке заданы два целых числа — текущие координаты супергероя. Первые n строк содержат информацию о выпускниках первой школы, следующие m — о выпускниках второй школы. Все координаты не превышает по модулю 10000 . Известно, что никакие два супергероя не стоят в одной точке.

Выходные данные

В первую строку выходного файла выведите одно вещественное число: максимальное значение d , которое позволяет спасти мир, либо -1, если при любом значении d мир можно спасти. Относительная или абсолютная погрешность вашего ответа не должна превышать 10 −6 . В следующих k строках выведите список номеров супергероев по одному числу в строке, которых можно взять при данном d , либо, если спасти мир можно при любом d , выведите список героев, которые позволяет спасти мир вне зависимости от d . Супергерои нумеруются числами от 1 до n + m в том порядке, в котором они идут во входном файле.

Примеры
Входные данные
2 3 4
1 1
1 2
1 3
1 4
1 5
Выходные данные
2.000000000000000000
1
3
4
5
Входные данные
1 1 2
1 1
1 10
Выходные данные
9.000000000000000000
1
2
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Рассмотрим 3D модель системы координат OXYZ . Ось OX направлена направо, ось OY наверх, ось OZ от нас. В пространстве находятся прямоугольные окна. Плоскость каждого окна параллельна плоскости OXY , т.е. его стороны параллельны осям OX и OY . Все окна находятся на разной глубине (различные координаты z > 0).

Гангстер с ружьем двигается вдоль оси OX ( y = 0, z = 0 ). Он может выстрелить пулей по прямой линии. Его цель одним выстрелом пробить все окна. Просто касания окна по ребру достаточно, чтобы оно разбилось. Ваша задача определить как совершить такой выстрел.

Входные данные

Первая строка содержит одно число n ( 2 ≤ n ≤ 100 ) - число окон в пространстве. Следующие n строк описывают окна. Каждая строка содержит 5 целых чисел x 1 i , y 1 i , x 2 i , y 2 i , z i ( 1 ≤ x 1 i , y 1 i , x 2 i , y 2 i , z i ≤ 1000 ). Здесь ( x 1 i , y 1 i , z i ) - координаты нижнего левого угла, а ( x 2 i , y 2 i , z i ) - координаты верхнего правого угла. Все окна имеют ненулевую площадь. Окна отсортированы по координате z .

Выходные данные

Выведите единственное слово "UNSOLVABLE", если гангстер не может достичь своей цели.

Иначе выведите слово "SOLUTION". На следующей строке выведите x координату точки из которой должен выстрелить гангстер. В следующих n строках выведите x , y , z - координаты точек в которых пуля пробьет i -ое окно. Все координаты должны быть выведены с точностью 6 знаков после запятой.

Примеры
Входные данные
3
1 3 5 5 3
1 2 5 7 5
5 2 7 6 6
Выходные данные
SOLUTION
-5.0000000000
1.0000000000 3.0000000000 3.0000000000
5.0000000000 5.0000000000 5.0000000000
7.0000000000 6.0000000000 6.0000000000
Входные данные
3
2 1 5 4 1
3 5 6 8 2
4 3 8 6 4
Выходные данные
UNSOLVABLE

Страница: << 480 481 482 483 484 485 486 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест