printЗадачи заочного тура личных соревнований 2015

printA. Синяя Борода

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Синяя Борода собрался уехать по делам и перед отъездом отдал своей жене Анне связку ключей. "Вот, – сказал он, – ключи от кладовых, от буфетов с посудой золотой и серебряной, от сундуков, где хранится мое золото и серебро, от ларцов, где лежат мои драгоценные камни, от всех комнат в моем доме. Открывайте все двери, всюду ходите, но входить в комнату в конце нижней большой галереи я вам запрещаю, и запрещаю так строго, что, если вам случится открыть туда дверь, вы можете всего ждать от моего гнева".
Все ключи в связке выглядели почти одинаково и отличались только формой выступов на бородке – наверно, Синяя Борода купил их оптом у местного слесаря. Анна решила к каждому ключу привязать ленту с отметкой, к какому замку подходит данный ключ.
Всего в связке было `n` ключей, а замков в замке Синей Бороды было `m`. Каждый ключ подходит ровно к одному замку. Сколько попыток открыть замок придется сделать Анне в худшем случае, чтобы определить, какой ключ от какого замка. Если Анна уже установила, что некоторый ключ открывает определенный замок, то она его не использует при попытках открыть замок.
Ввод содержит два целых числа `n` и `m` (`1\ ≤\ n\ ≤\ m\ ≤\ 10000`), разделенных пробелом.
Вывести одно число – количество попыток открыть замок в худшем случае.

Пример ввода 1

1 2

Пример вывода 1

1

Пример ввода 2

3 3

Пример вывода 2

3

Пример ввода 3

4 6

Пример вывода 3

14
Пояснение к примеру 2: в худшем случае Анна испробует ключи №1 и №2 на первом замке (2 попытки) и пометит ключ №3 как ключ от 1-го замка, затем после неудачной попытки открыть 2-й замок ключом №1 определит, какие замки открывают 2 оставшихся ключа. Итого 3 попытки. Если Анна будет сразу выбирать из связки нужный ключ (лучший случай), то потребуется только 2 попытки для установления соответствия между ключами и замками.
Пояснение к примеру 3: в худшем случае Анна за 4+4=8 попыток убедится, что у нее нет ключей от 1-го и 2-го замков, затем после 3 неудачных попыток открыть замок ключами №1, №2 и №3 догадается, что 3-й замок открывает ключ №4, а оставшиеся 3 ключа распределит по 3 замкам за 3 попытки как во 2-м примере. Итого 14 попыток.

printB. Степенные числа

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Будем называть натуральное число `n` степенным, если существует целое положительное число `k` такое, что сумма цифр числа `n` в степени `k` равна `n`. Например, 4151 является степенным, так как `4^5+1^5+5^5+1^5=4151`.
Ввод содержит одно целое число `n` (`1\ ≤\ n\ <\ 10^{18}`).
Вывести сообщение Yes, если число является степенным, иначе вывести сообщение No.

Пример ввода 1

2

Пример вывода 1

Yes

Пример ввода 2

4151

Пример вывода 2

Yes

Пример ввода 3

12345

Пример вывода 3

No

printC. Минимальный эллипс

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Как известно, через три точки, не расположенные на одной прямой, можно построить ровно одну окружность. Эллипсов через эти точки можно построить бесконечное количество. Они будут иметь разную площадь.
Определите минимальную площадь эллипса, который проходит через три заданные точки.
Ввод содержит три строки, в каждой строке два целых числа в диапазоне от 0 до 1000 – координаты одной из точек.
Вывести одно число – минимальную площадь эллипса с точностью `10^{-6}`.

Пример ввода

1 1
0 1
1 0

Пример вывода

1.209200
loading