Джокер
Ограничения: время – 500ms/1000ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
В игре "Джокер" может участвовать `N` человек (`2\ ≤\ N\ ≤\ 13`).
Масть карт в этой игре не важны. Используется колода из 52 карт, достоинство которых
обозначается буквами и цифрами A, 2, 3, 4, 5, 6, 7, 8, 9, D, Q, J, K (перечислены в порядке
от младших к старшим) и карта с джокером.
Участники садятся по кругу. Участникам раздаются по 4 карты `N` различных достоинств (не обязательно выбранных подряд)
и одному из участнику выдается карта с джокером.
Первый ход делает участник, у которого на руках 5 карт, и заключается ход
в передаче одной из карт следующему участнику игры по часовой стрелке.
Если у участника есть джокер и он получил джокера не на предыдущем ходе (включая первоначальную раздачу),
то он передает джокера.
Если джокера нет, или джокер был получен ходом ранее, то участник
выбирает карту с достоинством, которое у него встречается реже всего.
Если таких карт несколько, то он выбирает из них карту с наименьшим достоинством.
Игра заканчивается, когда у одного из участников на руках находится ровно 4 карты и они имеют
одинаковое достоинство.
Если таких участников несколько (например, после начальной раздачи),
то победителем считается участник с меньшим номером.
Определите победителя при заданном распределении карт среди участников.
Первая строка ввода содержит два целых числа – количество участников игры `N` (`2\ ≤\ N\ ≤\ 13`) и
номер участника, получившего джокера при раздаче карт `K` (`1\ ≤\ K\ ≤\ N`).
Далее следует `N` строк, содержащих по 4 символа из набора A, 2, 3, 4, 5, 6, 7, 8, 9, D, Q, J, K.
Вывести одно целое число – номер участника-победителя.
Пример ввода 1
2 1
3J33
3JJJ
Пример ввода 2
2 2
AA22
AA22
Пример ввода 3
3 1
JAAQ
AJJJ
AQQQ
Пример ввода 4
4 2
477Q
JJ7Q
447Q
4JJQ