Олимпиадный тренинг

Задача . D1. Игра в Девятку I


В этой версии задачи нужно определить, кто выиграет в карточной игре для двух игроков в заданном раскладе при оптимальной игре обоих соперников.

Алиса и Боб решили сыграть в карточную игру «Девятка». Пожалуйста, внимательно прочитайте условие задачи, поскольку правила могут отличаться от известных вам.

Для игры нужна стандартная колода из \(36\) карт — по девять карт (от шестёрки до туза) каждой из четырёх мастей (трефы, бубны, пики и черви). Карты по достоинству от младшей к старшей идут следующим образом: шестёрка, семёрка, восьмёрка, девятка, десятка, валет, дама, король, туз.

Перед игрой колода перемешивается, и каждому игроку раздаётся по \(18\) карт. Карты нужно выкладывать из руки на стол по определённым правилам. Выигрывает игрок, который первым выложит все карты из своей руки.

Игроки ходят по очереди. Ход игрока имеет один из следующих видов:

  • выложить на стол из своей руки девятку любой масти;
  • выложить на стол шестёрку, семёрку или восьмёрку любой масти, если на столе уже лежит карта той же масти достоинством на единицу выше;
  • выложить на стол десятку, валета, даму, короля или туза любой масти, если на столе уже лежит карта той же масти достоинством на единицу ниже.

Например, девятку пик можно выложить на стол в любой момент, для выкладывания семёрки треф необходимо наличие на столе восьмёрки треф, а для выкладывания туза червей необходимо наличие на столе короля червей.

Если игрок не может выложить на стол ни одну карту из своей руки, то ход переходит к сопернику. Обратите внимание: нельзя пропустить ход просто так — всегда необходимо выложить карту на стол корректным образом, если это возможно.

Вам дан расклад карт в начале игры. Алиса будет ходить первой. Определите, кто первым избавится от всех своих карт и выиграет, если оба игрока будут пытаться победить и играть оптимально.

Входные данные

В первой строке задано \(18\) строк длины \(2\) через пробел, описывающих карты Алисы в случайном порядке. Первый символ строки обозначает достоинство карты — символ из набора 6, 7, 8, 9, T, J, Q, K, A, обозначающий шестёрку, семёрку, восьмёрку, девятку, десятку, валета, даму, короля и туза, соответственно. Второй символ строки обозначает масть карты — символ из набора C, D, S, H, обозначающий трефы, бубны, пики и черви, соответственно.

Во второй строке задано \(18\) строк длины \(2\) через пробел, описывающих карты Боба в том же формате.

Каждая из \(36\) возможных карт находится в руке одного из двух игроков в единственном экземпляре.

В задаче \(100\) тестов. Все тесты сгенерированы случайным образом.

Выходные данные

Выведите Alice, если при оптимальной игре выиграет Алиса, и Bob в противном случае.


Примеры
Входные данныеВыходные данные
1 JD 7S 9S JS 8S 9D 6D 8C 8D TH KS QD QH TD 6C AD KD AC
KH QC 9H 6H KC 9C JC TS 6S QS TC JH 7D 7H AS AH 7C 8H
Alice
2 7S KD 8C AH QS AC KS JC 6C 7D 9H TS 7C 6D JH JD 6S KC
8D QD AS TD AD TH KH 9S JS 9C QC 8S 8H 7H TC QH 9D 6H
Bob
3 6C 7S 6H KS 9C 6S QS 7C TS JD 8H KC 9D 8C 7H KD JC QC
6D TH TD AD JS 9H TC QD 8D AC JH AH KH AS 7D 8S 9S QH
Alice
4 JS KS JD TH KH JC KC QD AS JH 6H 9H 7H 6C 9D AC 6D 9S
8D 8H 7C 7S KD 7D 6S QH 8C TS AD TD TC 9C QC 8S QS AH
Bob
5 6S KC TD 8S AC 9S KD TS TH 7D 7C KH TC QC JH QD JC JD
QH AS 9H 6C 8C 9C 6D AH AD KS JS 7H 6H 8H 9D QS 7S 8D
Bob

time 5000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя