Массивы(232 задач)
Типы данных(356 задач)
Циклы(177 задач)
Условный оператор (if)(164 задач)
Python(260 задач)
Standard Template Library(2 задач)
Вы, наверное, замечали, что многие компании используют для рекламы «красивые» номера телефонов, которые удобны для запоминания потенциальными клиентами. Но что делать, если номер вашей компании ничем не примечателен? Можно присмотреться к нему повнимательнее, а вдруг, если перегруппировать цифры номера некоторым образом, номер станет намного красивее? Например, если у вашей компании номер 872-73-33, то его можно сделать красивее, если перегруппировать цифры так: 8727-333.
Введем следующую оценку красоты разбиения номера. Будем разбивать номер дефисами на группы размером от 2 до 4 цифр. Теперь красотой разбиения назовем сумму баллов, которые приносит каждая группа. Эти баллы будем считать, пользуясь следующей таблицей.
Шаблон группы Баллы aa 2 aba 2 aab, abb 2 aaa 3 abac, baca 2 abab 3 aabb 3 abba 4 baaa, abaa, aaba, aaab 3 aaaa 5
В этой таблице символами «a», «b», «c» обозначены различные цифры. Например под шаблон «aab» подходят группы «223», «667», но не подходят «123» и «888».
Пользуясь предложенной оценкой, найдите наиболее красивое разбиение заданного номера.
Входной файл содержит одну строку из 7 цифр – заданный телефонный номер.
Выведите в первой строке выходного файла наиболее красивое разбиение номера, а во второй – величину его красоты.
Если разбиений с максимальной величиной красоты несколько, выведите в выходной файл любое из этих разбиений.
8727333
8727-333 5
8827291
88-272-91 4
Задано натуральное число \(A\). Необходимо представить его в виде суммы двух неотрицательных целых чисел \(B\) и \(C\) так, чтобы сумма цифр десятичных представлений чисел \(B\) и \(C\) была как можно больше.
Входной файл содержит целое число \(A\) (\(1 \le A \le 10^{18}\)).
В первой строке выходного файла выведите \(s\) - максимальную возможную сумму цифр чисел \(B\) и \(C\). Во второй строке выведите через пробел сами числа \(B\) и \(C\), сумма которых равна \(A\), а сумма цифр которых равна \(s\). Если оптимальных ответов несколько, то выведите любой из них.
4
4 2 2
28
19 9 19
В 314 уровне компьютерной игры "Болото 2" лягушонку Квайту предстоит решить непростую задачу. На прямой расположены \(n\) листьев водяной лилии, на каждом из которых сидит большая муха. Находясь на одном из листьев, он может прыгнуть на соседний лист или перепрыгнуть через один лист в любую сторону и съесть сидящую там муху.
Квайт уже большой лягушонок, а листья не очень надежные, поэтому когда он прыгает на какой-то лист и съедает сидящую на нем муху, лист начинает тонуть, так что Квайт должен сразу же прыгать дальше.
Для того, чтобы продолжать приключения, Квайту необходимо съесть всех мух, начав свой путь с листа номер \(a\) и закончив на листе номер \(b\) (листья пронумерованы вдоль прямой последовательными натуральными числами, начиная с единицы).
Помогите Квайту пройти этот уровень.
Во входном файле записаны три целых числа, разделенных пробелами \(n\), \(a\) и \(b\) (\(2\le n\le 1000\), \(1\le a, b\le n\), \(a \ne b\)).
В выходной файл выведите \(n - 1\) число - последовательность прыжков, которые нужно сделать Квайту. Прыжок задается числом \(-2\), \(-1\), \(1\) или \(2\), это число означает разность между номером листа, на котором оказывается Квайт, и номером листа, на котором он находится перед прыжком.
Если не существует пути, удовлетворяющего требованиям, выведите одно число 0.
5 2 4
-1 2 2 -1
4 2 3
0