Темы
    Информатика(2656 задач)
---> 228 задач <---
    2003(8 задач)
    2004(9 задач)
    2005(10 задач)
    2006(10 задач)
    2007(19 задач)
    2008(19 задач)
    2009(18 задач)
    2010(18 задач)
    2011(18 задач)
    2012(19 задач)
    2013(19 задач)
    2014(20 задач)
    2015(21 задач)
    2016(20 задач)
Страница: << 27 28 29 30 31 32 33 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
6 megabytes

Командная олимпиада, о которой идёт речь в этой задаче, проходила по правилам, похожим на правила олимпиады, в которой вы сейчас участвуете. Отличие было только в одном: при ранжировании команд не учитывается штрафное время. При этом в случае равного количества решённых задач выше в таблице располагается та команда, чьё имя следует раньше в лексикографическом порядке.

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

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

Первая строка содержит два натуральных числа: N — количество команд и K — количество задач (1 ≤ N, K ≤ 100).

Далее следуют N строк, описывающих саму таблицу на момент заморозки. i-я строка содержит название команды (строка из строчных латинских символов длины не более 50) и строку длины K из символов ‘ + ’ и ‘ - ’, показывающих успех команды по каждой из задач.

Команды упорядочены от первого места на момент заморозки к последнему.

Гарантируется, что никакие две команды не имеют одинаковое название.

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

Если порядок команд теоретически мог измениться за последний час соревнований на обратный, то сначала выведите строку «Possible», а затем таблицу окончательных результатов в формате, аналогичном таблице из входного файла (см. пример). Если соревнование так закончиться не могло, то выведите единственную строку «Impossible».

Примеры тестов

Входные данные
3 4
winner +-++
middle +--+
looser ----
Выходные данные
Possible
looser ++++
middle ++-+
winner +-++
Входные данные
3 4
first +-++
second +--+
third ----
Выходные данные
Impossible

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

Спортивный программист для достижения вершин своего мастерства должен быть натренирован в совершенно разных аспектах, в том числе и физически. Кто-то для этого садится на велосипед, кто-то ныряет в бассейн, а молодой программист Влад бегает по стадиону. Но из-за неаккуратного обращения с личными вещами его секундомер может измерять время только в минутах, без указания секунд и тем более их долей. Причём, если секундомер показывает, например, 1, то это может обозначать и время ровно 2 минуты, так как 1.(9) = 2.

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

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

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

В первой строке входного файла находится единственное натуральное число N — количество записей в блокноте тренера (2 ≤ N ≤ 105). В следующей строке находятся сами эти записи — разделённые пробелами целые числа a1, a2, ..., aN (0 ≤ a1 ≤ a2 ≤ ... ≤ aN ≤ 106).

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

Выведите два неотрицательных вещественных числа, разделённых пробелом, — минимальное и максимальное возможное количество минут, за которое спортсмен пробегает один круг. Ваш ответ должен отличаться от правильного менее чем на 10 - 3.

Если ответа не существует, то есть спортсмен не мог бежать с постоянной скоростью так, чтобы записи тренера получились именно такими, в единственной строке выведите «No solution».

Примеры тестов

Входные данные
4
1 3 4 6
Выходные данные
1.5 1.666666667
Входные данные
4
0 0 0 0
Выходные данные
0 0.25
Входные данные
5
2 4 5 7 9
Выходные данные
2 2
Входные данные
3
1 5 7
Выходные данные
No solution

Примечание

Во втором примере минимальное время может быть как угодно маленьким, и ответ 0 по сути это символизирует, но можно также считать, что Влад просто стоял на месте. Максимальный ответ в этом тесте соответствует реальным показаниям секундомера 0.25, 0.5, 0.75, 0.(9).

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

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

В стране есть n городов. По государственным законам авиакомпания должна предоставлять услуги двустороннего перелёта между некоторыми парами городов, причём в целях унификации и стандартизации продолжительность любого полёта должна составлять ровно один день.

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

Государственная антимонопольная служба возбудила расследование против крупной авиакомпании «Aero-float». Ей предъявлено обвинение в излишней неэкономности. Джонни было поручено проинспектировать «Aero-float» в целях обнаружения финансовых махинаций, но авиакомпания отказалась раскрывать полный список предоставляемых ею прямых рейсов. После продолжительных переговоров руководство компании согласилось сообщить Джонни информацию о минимально возможном количестве перелётов между каждой парой городов, если использовать только прямые рейсы «Aero-float».

Используя эту информацию, помогите Джонни установить, может ли компания «Aero-float» быть экономной или нет? Более формально, установите, существует ли набор рейсов, при котором число рейсов в кратчайших маршрутах именно такие, как было сообщено Джонни, и при котором компания является экономной?

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

В первой строке содержится единственное целое число n (2 ≤ n ≤ 250) — количество городов в стране.

Далее идёт n строк, содержащих по n целых чисел Ti, j: j-е число в i-й строке равняется минимальному количеству перелётов, требуемому на перемещение из i-го города в j-й.

Гарантируется, что предоставленная информация корректна, то есть существует некоторый набор рейсов, который соответствует данному набору чисел Ti, j.

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

Выведите «YES», если компания «Aerofloat» может являться экономной, или «NO» в противном случае.

Примеры тестов

Входные данные
5
0 2 1 1 1
2 0 1 3 3
1 1 0 2 2
1 3 2 0 2
1 3 2 2 0
Выходные данные
YES
Входные данные
4
0 1 1 1
1 0 2 2
1 2 0 1
1 2 1 0
Выходные данные
NO

Примечание

Для первого примера ниже приведён возможный вариант предлагаемых компанией маршрутов, при котором она является экономной. На рисунке соединены те пары городов, между которыми есть прямые рейсы.

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

Будущие программисты Андрей и Борис вчера впервые поехали кататься с родителями по новой кольцевой дороге. Каждый из них выехал на дорогу в определённом месте, сделал полный круг и вернулся домой. От скуки они оба считали фонарные столбы, расположенные посередине дороги между встречными полосами движения, так что все N фонарных столбов у каждого из мальчиков получили номера от 1 до N . Но само значение N они не запомнили. При этом два столба обоим мальчикам запомнились особенно: на одном из них висел яркий плакат ко Дню города, а на другом — флаг Москвы. Каждый из мальчиков записал себе в тетрадку номер каждого из этих двух столбов.

Сегодня обе семьи, Андрея и Бориса, пошли на выставку кошек, и там мальчики, обсудив свои поездки, задались вопросом: сколько же всего фонарных столбов на новой кольцевой дороге? Единственное, что они смогли выяснить, в одном ли направлении ехали они по дороге.

Так сложилось, что Андрей — ваш младший брат, поэтому именно вам предстоит ответить на вопрос мальчиков. У вас есть серьёзное подозрение, что может не получиться однозначно найти ответ, а мальчики боятся больших чисел, поэтому вы решили сказать им лишь минимальное из возможных значений числа N .

В этом примере N = 6 , A p = 4 , A f = 2 , B p = 1 , B f = 5 .

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

Первая строка входного файла содержит единственное целое число D , которое равно 1 , если мальчики ехали в одном направлении, и - 1 , если в разных. Вторая строка содержит 4 натуральных числа A p , B p , A f , B f , каждое из которых не превосходит 10 9 : A p — номер столба с плакатом в нумерации Андрея, B p — номер этого столба в нумерации Бориса, A f — номер столба с флагом в нумерации Андрея, B f — номер этого столба в нумерации Бориса. Соседние числа в строке разделены одним пробелом. Плакат и флаг могли оказаться на одном столбе — в этом случае каждый из мальчиков должен был бы получить два одинаковых числа, т. е. A p = A f и B p = B f .

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

Выведите единственное натуральное число N — минимально возможное количество столбов. Если мальчики где-то ошиблись, и таких чисел, как у них, не могло получиться ни при каком зна-че-нии N , выведите число - 1 .

Примеры
Входные данные
1
4 1 2 5
Выходные данные
6
Входные данные
-1
4 9 4 7
Выходные данные
-1
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Команда туристического клуба «В гору пойдёт!» только что вернулась из очередного похода. Прямо сейчас участники экспедиции с жаром спорят о том, какой же горный хребет они покорили.

Достоверно известно, что на маршруте было N стоянок, причём все — на разной целочисленной высоте от 1 до N над уровнем моря. Альпинисты заблаговременно прибыли на место первой стоянки, а потом шли по маршруту в течении N - 1 дня: в первый день они шли от 1 -й стоянки до 2 -й, во второй — от 2 -й до 3 -й и так далее, пока в последний день не совершили переход от стоянки под номером N - 1 до стоянки под номером N , завершив этим свой маршрут.

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

Помогите альпинистам! Подскажите им хоть какой-нибудь вариант маршрута, не противоречащий записям в журнале.

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

В первой строке входного файла содержится натуральное число N — количество стоянок на маршруте ( 2 ≤ N ≤ 1 000 000 ). Во второй строке входного файла содержится последовательность длины N - 1 , состоящая из знаков « < » и « > ». Если на i -м месте в этой последовательности стоит знак « < », то в i -й день альпинисты шли в гору, а знак « > » означает, что в i -й день они спускались.

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

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

Примеры
Входные данные
5
>><>
Выходные данные
3 2 1 5 4

Страница: << 27 28 29 30 31 32 33 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест