Строки(121 задач)
Целые числа(112 задач)
Битовые операции(28 задач)
Логический тип(3 задач)
Структуры(18 задач)
Вещественные числа(33 задач)
Множества(16 задач)
Словари(21 задач)
Так же, как и вы, Перо страстно любит задачи. Последняя задача, которая его заинтересовала – определять, является ли слово мультиграммой.
Мультиграмма – это слово, которое состоит из конкатенации двух и более анаграмм. Первая из этих анаграмм называется корнем мультиграммы. Например, слово bbabab – мультиграмма с корнем bba, потому что она состоит из анаграмм bba и bab.
Помогите Перо определять, является ли данное ему слово мультиграммой, и если да, определить корень. Если возможных ответов несколько, выведите кратчайший.
Единственная строка содержит слово, состоящее не более, чем из 10 5 строчных букв латинского алфавита.
Если данное слово – мультиграмма, выведите кратчайший из её корней. Иначе выведите -1.
Решения, работающие когда длина строки не превосходит 500, будут оцениваться в 20 баллов.
Решения, работающие когда длина строки не превосходит 5000, будут оцениваться в 40 баллов.
aaaa
a
ab
-1
bbabab
bba
Юный Мирко - умный, но озорной мальчик, который часто бродит по паркам в поисках новых идей и друзей. В этот раз он встретился с пенсионерами, которые играли в карточную игру Белот. Они пригласили его помочь им подсчитать количество очков, выигранных в одной игре.
Каждая карта определяется мастью и символом. Набор из 4 карт называется рукой. В каждой игре одна из масть "бьет" все остальные и называется козырной. Количество очков в одной игре равно сумме победных очков всех карт из всех выигравших рук в игре. Мирко заметил, что пенсионерами было выиграно N рук, а козырная масть в игре была B .
Выигрышные очки карт (если масть козырная / если масть не козырная):
А : 11 / 11
K : 4 / 4
Q : 3 / 3
J : 20 / 2
T : 10 / 10
9 : 14 / 0
8 : 0 / 0
7 : 0 / 0
По данным выигравшим рукам и козырной масти определите количество очков, выигранных в этой игре.
Первая строка содержит одно целое число N ( 1 ≤ N ≤ 100 ) и один символ B ( S , H , D или C ) - козырная масть в игре.
Каждая из следующих 4 N строк содержит описание карты K i , состоящее из двух символов: первый - символ карты ( A , K , Q , J , T , 9 , 8 , 7 ), второй - масть карты ( S , H , D или C ).
Выведите одно целое число - количество выигранных очков.
2 S TH 9C KS QS JS TD AD JH
60
4 H AH KH QH JH TH 9H 8H 7H AS KS QS JS TS 9S 8S 7S
92