print2454. Джокер

printДжокер

Ограничения: время – 500ms/1000ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение 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

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

2

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

2 2
AA22
AA22

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

2

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

3 1
JAAQ
AJJJ
AQQQ

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

3

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

4 2
477Q
JJ7Q
447Q
4JJQ

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

3
loading