Игра в Девятку III (Codeforces 1769D3)
Tags: Others, *special

В этой версии задачи нужно найти $$$26$$$ раскладов с различными значениями важности первого хода.Алиса и Боб решили сыграть в карточную игру «Девятка». Пожалуйста, внимательно прочитайте условие задачи, поскольку правила могут отличаться от известных вам.Для игры нужна стандартная колода из $$$36$$$ карт — по девять карт (от шестёрки до туза) каждой из четырёх мастей (трефы, бубны, пики и черви). Карты по достоинству от младшей к старшей идут следующим образом: шестёрка, семёрка, восьмёрка, девятка, десятка, валет, дама, король, туз.Перед игрой колода перемешивается, и каждому игроку раздаётся по $$$18$$$ карт. Карты нужно выкладывать из руки на стол по определённым правилам. Выигрывает игрок, который первым выложит все карты из своей руки.Игроки ходят по очереди. Ход игрока имеет один из следующих видов:   выложить на стол из своей руки девятку любой масти;  выложить на стол шестёрку, семёрку или восьмёрку любой масти, если на столе уже лежит карта той же масти достоинством на единицу выше;  выложить на стол десятку, валета, даму, короля или туза любой масти, если на столе уже лежит карта той же масти достоинством на единицу ниже. Например, девятку пик можно выложить на стол в любой момент, для выкладывания семёрки треф необходимо наличие на столе восьмёрки треф, а для выкладывания туза червей необходимо наличие на столе короля червей.Если игрок не может выложить на стол ни одну карту из своей руки, то ход переходит к сопернику. Обратите внимание: нельзя пропустить ход просто так — всегда необходимо выложить карту на стол корректным образом, если это возможно.Помимо того, что каждый игрок стремится избавиться от карт в своей руке, Алиса и Боб также хотят, чтобы в конце игры в руке у их соперника карт осталось как можно больше, а в их руке — как можно меньше. Напомним, что игра заканчивается, как только один из игроков выкладывает на стол последнюю карту из своей руки.Результатом игры назовём совокупность из информации о том, кто из двух игроков выиграет при оптимальной игре, а также о том, сколько карт останется в руке у проигравшего.Пусть Алиса и Боб уже взяли в руки свои $$$18$$$ карт каждый, но ещё не решили, кто из них будет ходить первым. Величиной важности первого хода для данного расклада назовём абсолютную разность между результатами игры в случае, если первой будет ходить Алиса, и в случае, если первым будет ходить Боб.Например, если в обоих случаях выиграет Боб, но в одном случае у Алисы останется $$$6$$$ карт в руке в конце игры, а во втором — всего $$$2$$$, то величина важности первого хода равна $$$4$$$. Если же в одном случае выиграет Алиса и у Боба останется $$$5$$$ карт в руке, а во втором случае выиграет Боб и у Алисы останется $$$3$$$ карты в руке, то величина важности первого хода равна $$$8$$$.Ребята хотят узнать, насколько разной бывает величина важности первого хода для разных раскладов. По заданному числу $$$k \le 26$$$ помогите им найти такие $$$k$$$ раскладов, что величины важности первого хода для всех них — различные целые числа.

Input: В единственной строке задано целое число $$$k$$$ ($$$2 \le k \le 26$$$) — число необходимых раскладов.В задаче три теста. В первом тесте $$$k = 2$$$, во втором тесте $$$k = 13$$$, в третьем тесте $$$k = 26$$$.

Output: Выведите $$$k$$$ пар строк. Каждая пара строк должна соответствовать некоторому раскладу. Величины важности первого хода для всех выведенных раскладов должны быть различными целыми числами.В первой строке каждой пары выведите $$$18$$$ строк длины $$$2$$$ через пробел, описывающих карты Алисы в любом порядке. Первый символ строки должен обозначать достоинство карты — символ из набора 6, 7, 8, 9, T, J, Q, K, A, обозначающий шестёрку, семёрку, восьмёрку, девятку, десятку, валета, даму, короля и туза соответственно. Второй символ строки должен обозначать масть карты — символ из набора C, D, S, H, обозначающий трефы, бубны, пики и черви соответственно.Во второй строке выведите $$$18$$$ строк длины $$$2$$$ через пробел, описывающих карты Боба в том же формате.Каждая из $$$36$$$ возможных карт должна находиться в руке одного из двух игроков в единственном экземпляре.

Note: В первом выведенном раскладе все девятки находятся в руке у Алисы. Даже если Боб будет ходить первым, ему всё равно придётся пропустить первый же свой ход. Следовательно, первый ход при таком раскладе имеет важность $$$0$$$.Во втором выведенном раскладе вне зависимости от того, чьим будет первый ход, выиграет Алиса. Однако если Алиса будет ходить первой, то у Боба в конце игры в руке останется одна карта, а если же она будет ходить второй, то у Боба останется пять карт. Соответственно, величина важности первого хода при таком раскладе равна $$$4$$$.

Sample Inputs:
2

Sample Outputs:
KS QD 8D QC 8S 8C JD 9H AC TH 9S 9D QH 7H 8H TS 7S 9C
6D JS 7D KH QS TC AD AS KC 6C 7C TD AH KD 6S JC JH 6H

JC JS 8S TD JD KH 7D 9C KC TH QD 8D 7H TC KD 9H 8C 6D
7S AC QH AD 8H TS 6H JH 6C AH 7C 6S 9D QC AS QS KS 9S

Solution (Python):
s = '\n7C 8C 9C TC JC KC AC 7D 9D JD 6H 8H JH KH 6S 7S 8S JS \n6C QC 6D 8D TD QD KD AD 7H 9H TH QH AH 9S TS QS KS AS\n \n9C TC JC QC AC 7D 9D TD QD KD AD 8H TH QH AH 7S JS QS\n6C 7C 8C KC 6D 8D JD 6H 7H 9H JH KH 6S 8S 9S TS KS AS\n \n9C TC JC KC AC 7D 8D 9D TD JD QD KD TH KH TS JS QS KS\n6C 7C 8C QC 6D AD 6H 7H 8H 9H JH QH AH 6S 7S 8S 9S AS\n \n7C TC 7D 8D 9D KD 7H 8H 9H JH QH 6S 7S TS JS QS KS AS\n6C 8C 9C JC QC KC AC 6D TD JD QD AD 6H TH KH AH 8S 9S\n \n8C 9C TC QC KC AC 8D 9D JD KD 7H 8H JH QH 7S 8S KS AS\n6C 7C JC 6D 7D TD QD AD 6H 9H TH KH AH 6S 9S TS JS QS \n \n6C 7C 8C TC JC QC KC 7D 8D TD JD KD 9H 9S JS QS KS AS\n9C AC 6D 9D QD AD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS\n \n6C 7C TC JC KC AC 8D 9D AD 7H 8H 9H TH KH AH 8S JS KS\n8C 9C QC 6D 7D TD JD QD KD 6H JH QH 6S 7S 9S TS QS AS\n \n7C 8C AC 6D 8D 6H 7H 8H 9H TH QH 6S 7S 8S 9S TS KS AS\n6C 9C TC JC QC KC 7D 9D TD JD QD KD AD JH KH AH JS QS\n \n6C TC JC AC 6D 9D JD KD 7H 8H 9H TH QH AH 7S 8S TS AS\n7C 8C 9C QC KC 7D 8D TD QD AD 6H JH KH 6S 9S JS QS KS\n \n8C JC QC AC 6D 8D 9D TD JD QD 6H KH AH 7S 8S 9S QS KS \n6C 7C 9C TC KC 7D KD AD 7H 8H 9H TH JH QH 6S TS JS AS\n \n6C 7C 9C JC QC KC AC 7D 9D KD AD 7H 8H JH KH 6S 8S TS\n8C TC 6D 8D TD JD QD 6H 9H TH QH AH 7S 9S JS QS KS AS\n \n8C TC QC KC AC 6D 7D 8D TD QD KD 7H 8H 9H 8S 9S JS KS\n6C 7C 9C JC 9D JD AD 6H TH JH QH KH AH 6S 7S TS QS AS\n \n6C 7C 8C 9C TC QC AC 8D AD 6H 7H 8H TH QH 7S 8S JS KS\nJC KC 6D 7D 9D TD JD QD KD 9H JH KH AH 6S 9S TS QS AS\n13\n6C 7C TC JC QC KC AC 6D 7D 8D TD JD KD AD 8H 9H 9S KS\n8C 9C 9D QD 6H 7H TH JH QH KH AH 6S 7S 8S TS JS QS AS\n14\n6C 8C JC QC KC AC 6D 8D JD QD KD AD 7H 9H TH 7S 9S TS\n7C 9C TC 7D 9D TD 6H 8H JH QH KH AH 6S 8S JS QS KS AS\n15\n6C 7C 8C JC QC KC AC 6D 7D 8D TD JD KD AD 9H TH 9S JS\n9C TC 9D QD 6H 7H 8H JH QH KH AH 6S 7S 8S TS QS KS AS\n16\n7C 8C TC JC QC AC 6D 7D 8D TD JD QD KD AD 6H 9H KH 9S\n6C 9C KC 9D 7H 8H TH JH QH AH 6S 7S 8S TS JS QS KS AS\n17\n6C 7C 8C TC JC QC KC AC 6D 7D 8D TD JD KD AD 9H 9S KS\n9C 9D QD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS JS QS AS\n18\n6C 8C TC JC KC AC 6D 7D 8D TD JD QD KD AD 7H 9H QH 9S\n7C 9C QC 9D 6H 8H TH JH KH AH 6S 7S 8S TS JS QS KS AS\n19\n6C 7C 8C TC JC QC KC AC 6D 7D 8D TD JD KD AD 9H 9S JS\n9C 9D QD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS QS KS AS\n20\n6C 8C TC QC KC AC 6D 7D 8D TD JD QD KD AD 7H 9H JH 9S\n7C 9C JC 9D 6H 8H TH QH KH AH 6S 7S 8S TS JS QS KS AS\n21\n6C 7C 8C TC JC QC KC AC 6D 7D 8D JD QD KD AD 9H 9S KS\n9C 9D TD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS JS QS AS\n22\n6C 7C TC QC KC AC 6D 7D 8D TD JD QD KD AD 8H 9H JH 9S\n8C 9C JC 9D 6H 7H TH QH KH AH 6S 7S 8S TS JS QS KS AS\n23\n6C 7C 8C TC JC QC KC AC 6D 7D 8D JD QD KD AD 9H 9S JS\n9C 9D TD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS QS KS AS\n24\n6C 7C JC QC KC AC 6D 7D 8D TD JD QD KD AD 8H 9H TH 9S\n8C 9C TC 9D 6H 7H JH QH KH AH 6S 7S 8S TS JS QS KS AS\n26\n6C 7C 8C JC QC KC AC 6D 7D 8D TD JD QD KD AD 9H TH 9S\n9C TC 9D 6H 7H 8H JH QH KH AH 6S 7S 8S TS JS QS KS AS\n30\n6C 7C 8C TC JC QC KC AC 6D 7D 8D TD JD QD KD AD 9H 9S\n9C 9D 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS JS QS KS AS\n'.split('\n')
k = int(input())
for i in range(k):
    print(s[3 * i + 1])
    print(s[3 * i + 2])
    print()

Solution (Python):
s = '\n7C 8C 9C TC JC KC AC 7D 9D JD 6H 8H JH KH 6S 7S 8S JS \n6C QC 6D 8D TD QD KD AD 7H 9H TH QH AH 9S TS QS KS AS\n\n9C TC JC QC AC 7D 9D TD QD KD AD 8H TH QH AH 7S JS QS\n6C 7C 8C KC 6D 8D JD 6H 7H 9H JH KH 6S 8S 9S TS KS AS\n\n9C TC JC KC AC 7D 8D 9D TD JD QD KD TH KH TS JS QS KS\n6C 7C 8C QC 6D AD 6H 7H 8H 9H JH QH AH 6S 7S 8S 9S AS\n\n7C TC 7D 8D 9D KD 7H 8H 9H JH QH 6S 7S TS JS QS KS AS\n6C 8C 9C JC QC KC AC 6D TD JD QD AD 6H TH KH AH 8S 9S\n\n8C 9C TC QC KC AC 8D 9D JD KD 7H 8H JH QH 7S 8S KS AS\n6C 7C JC 6D 7D TD QD AD 6H 9H TH KH AH 6S 9S TS JS QS \n\n6C 7C 8C TC JC QC KC 7D 8D TD JD KD 9H 9S JS QS KS AS\n9C AC 6D 9D QD AD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS\n\n6C 7C TC JC KC AC 8D 9D AD 7H 8H 9H TH KH AH 8S JS KS\n8C 9C QC 6D 7D TD JD QD KD 6H JH QH 6S 7S 9S TS QS AS\n\n7C 8C AC 6D 8D 6H 7H 8H 9H TH QH 6S 7S 8S 9S TS KS AS\n6C 9C TC JC QC KC 7D 9D TD JD QD KD AD JH KH AH JS QS\n\n6C TC JC AC 6D 9D JD KD 7H 8H 9H TH QH AH 7S 8S TS AS\n7C 8C 9C QC KC 7D 8D TD QD AD 6H JH KH 6S 9S JS QS KS\n\n8C JC QC AC 6D 8D 9D TD JD QD 6H KH AH 7S 8S 9S QS KS \n6C 7C 9C TC KC 7D KD AD 7H 8H 9H TH JH QH 6S TS JS AS\n\n6C 7C 9C JC QC KC AC 7D 9D KD AD 7H 8H JH KH 6S 8S TS\n8C TC 6D 8D TD JD QD 6H 9H TH QH AH 7S 9S JS QS KS AS\n\n8C TC QC KC AC 6D 7D 8D TD QD KD 7H 8H 9H 8S 9S JS KS\n6C 7C 9C JC 9D JD AD 6H TH JH QH KH AH 6S 7S TS QS AS\n\n6C 7C 8C 9C TC QC AC 8D AD 6H 7H 8H TH QH 7S 8S JS KS\nJC KC 6D 7D 9D TD JD QD KD 9H JH KH AH 6S 9S TS QS AS\n13\n6C 7C TC JC QC KC AC 6D 7D 8D TD JD KD AD 8H 9H 9S KS\n8C 9C 9D QD 6H 7H TH JH QH KH AH 6S 7S 8S TS JS QS AS\n14\n6C 8C JC QC KC AC 6D 8D JD QD KD AD 7H 9H TH 7S 9S TS\n7C 9C TC 7D 9D TD 6H 8H JH QH KH AH 6S 8S JS QS KS AS\n15\n6C 7C 8C JC QC KC AC 6D 7D 8D TD JD KD AD 9H TH 9S JS\n9C TC 9D QD 6H 7H 8H JH QH KH AH 6S 7S 8S TS QS KS AS\n16\n7C 8C TC JC QC AC 6D 7D 8D TD JD QD KD AD 6H 9H KH 9S\n6C 9C KC 9D 7H 8H TH JH QH AH 6S 7S 8S TS JS QS KS AS\n17\n6C 7C 8C TC JC QC KC AC 6D 7D 8D TD JD KD AD 9H 9S KS\n9C 9D QD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS JS QS AS\n18\n6C 8C TC JC KC AC 6D 7D 8D TD JD QD KD AD 7H 9H QH 9S\n7C 9C QC 9D 6H 8H TH JH KH AH 6S 7S 8S TS JS QS KS AS\n19\n6C 7C 8C TC JC QC KC AC 6D 7D 8D TD JD KD AD 9H 9S JS\n9C 9D QD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS QS KS AS\n20\n6C 8C TC QC KC AC 6D 7D 8D TD JD QD KD AD 7H 9H JH 9S\n7C 9C JC 9D 6H 8H TH QH KH AH 6S 7S 8S TS JS QS KS AS\n21\n6C 7C 8C TC JC QC KC AC 6D 7D 8D JD QD KD AD 9H 9S KS\n9C 9D TD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS JS QS AS\n22\n6C 7C TC QC KC AC 6D 7D 8D TD JD QD KD AD 8H 9H JH 9S\n8C 9C JC 9D 6H 7H TH QH KH AH 6S 7S 8S TS JS QS KS AS\n23\n6C 7C 8C TC JC QC KC AC 6D 7D 8D JD QD KD AD 9H 9S JS\n9C 9D TD 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS QS KS AS\n24\n6C 7C JC QC KC AC 6D 7D 8D TD JD QD KD AD 8H 9H TH 9S\n8C 9C TC 9D 6H 7H JH QH KH AH 6S 7S 8S TS JS QS KS AS\n26\n6C 7C 8C JC QC KC AC 6D 7D 8D TD JD QD KD AD 9H TH 9S\n9C TC 9D 6H 7H 8H JH QH KH AH 6S 7S 8S TS JS QS KS AS\n30\n6C 7C 8C TC JC QC KC AC 6D 7D 8D TD JD QD KD AD 9H 9S\n9C 9D 6H 7H 8H TH JH QH KH AH 6S 7S 8S TS JS QS KS AS\n'.split('\n')
k = int(input())
for i in range(k):
    print(s[3 * i + 1])
    print(s[3 * i + 2])
    print()

Solution (Python):
a = 'TC JC KC 6D 7D 8D 9D KD AD 6S 7S 8S TS JS QS KS AS 9H \n6C 7C 8C 9C QC AC TD JD QD 9S 6H 7H 8H TH JH QH KH AH \n6C 7C 8C TC JC QC KC 9D KD 7S 8S TS JS QS KS AS 9H QH \n9C AC 6D 7D 8D TD JD QD AD 6S 9S 6H 7H 8H TH JH KH AH \n6C 7C 8C TC AC 9D JD QD KD 7S 8S TS JS QS KS AS 6H 9H \n9C JC QC KC 6D 7D 8D TD AD 6S 9S 7H 8H TH JH QH KH AH \n6C 8C JC QC AC 7D 9D TD QD 7S 8S TS JS QS KS AS 6H 9H \n7C 9C TC KC 6D 8D JD KD AD 6S 9S 7H 8H TH JH QH KH AH \n8C 9C JC QC KC 6D 7D TD AD 7S 8S TS JS QS KS AS 6H 9H \n6C 7C TC AC 8D 9D JD QD KD 6S 9S 7H 8H TH JH QH KH AH \n8C TC JC KC AC 6D 7D 9D KD 7S 8S TS JS QS KS AS 6H 9H \n6C 7C 9C QC 8D TD JD QD AD 6S 9S 7H 8H TH JH QH KH AH \n6C 7C TC KC AC 8D 9D JD QD 7S 8S TS JS QS KS AS 6H 9H \n8C 9C JC QC 6D 7D TD KD AD 6S 9S 7H 8H TH JH QH KH AH \n6C 7C TC JC QC KC AC 9D KD 6S 8S TS JS QS KS AS 9H KH \n8C 9C 6D 7D 8D TD JD QD AD 7S 9S 6H 7H 8H TH JH QH AH \n6C 7C 8C QC KC AC 9D TD JD 7S 8S TS JS QS KS AS 6H 9H \n9C TC JC 6D 7D 8D QD KD AD 6S 9S 7H 8H TH JH QH KH AH \n6C 7C 8C TC JC KC AC 9D TD 6S 7S 8S TS JS KS AS 7H 9H \n9C QC 6D 7D 8D JD QD KD AD 9S QS 6H 8H TH JH QH KH AH \n6C 7C 9C JC QC KC AC 8D TD 7S 8S TS JS QS KS AS 6H 9H \n8C TC 6D 7D 9D JD QD KD AD 6S 9S 7H 8H TH JH QH KH AH \n6C 7C 8C TC JC QC KC AC 7D 9D 7S TS JS QS KS AS 9H JH \n9C 6D 8D TD JD QD KD AD 6S 8S 9S 6H 7H 8H TH QH KH AH \n6C 7C 8C JC QC KC AC 9D TD 7S 8S TS JS QS KS AS 6H 9H \n9C TC 6D 7D 8D JD QD KD AD 6S 9S 7H 8H TH JH QH KH AH \n6C 8C TC JC QC KC AC 9D 6S 7S 8S TS JS KS AS 6H 9H TH \n7C 9C 6D 7D 8D TD JD QD KD AD 9S QS 7H 8H JH QH KH AH \n6C TC JC QC KC AC 9D JD 6S 7S 8S TS JS QS KS AS 6H 9H \n7C 8C 9C 6D 7D 8D TD QD KD AD 9S 7H 8H TH JH QH KH AH \n6C 7C 8C JC QC KC AC 9D 6S 7S 8S TS JS QS AS 8H 9H KH \n9C TC 6D 7D 8D TD JD QD KD AD 9S KS 6H 7H TH JH QH AH \n9C TC JC AC 6D 7D 8D QD KD 6S 7S 8S TS JS QS KS AS 9H \n6C 7C 8C QC KC 9D TD JD AD 9S 6H 7H 8H TH JH QH KH AH \n6C 7C 8C JC KC AC 9D TD KD 6S 7S 8S TS JS QS KS AS 9H \n9C TC QC 6D 7D 8D JD QD AD 9S 6H 7H 8H TH JH QH KH AH \n6C 7C 9C 8D TD JD QD KD AD 6S 7S 8S TS JS QS KS AS 9H \n8C TC JC QC KC AC 6D 7D 9D 9S 6H 7H 8H TH JH QH KH AH \n8C TC JC QC AC 6D 7D 9D QD 6S 7S 8S TS JS QS KS AS 9H \n6C 7C 9C KC 8D TD JD KD AD 9S 6H 7H 8H TH JH QH KH AH \n6C 8C 9C TC QC KC AC 7D JD 6S 7S 8S TS JS QS KS AS 9H \n7C JC 6D 8D 9D TD QD KD AD 9S 6H 7H 8H TH JH QH KH AH \n6C 8C TC JC QC KC AC 9D 6S 7S 8S TS JS QS KS AS 8H 9H \n7C 9C 6D 7D 8D TD JD QD KD AD 9S 6H 7H TH JH QH KH AH \n6C 7C TC QC KC AC 8D 9D JD 6S 7S 8S TS JS QS KS AS 9H \n8C 9C JC 6D 7D TD QD KD AD 9S 6H 7H 8H TH JH QH KH AH \n6C 7C 8C TC QC KC AC 8D 9D 6S 7S 8S TS JS QS KS AS 9H \n9C JC 6D 7D TD JD QD KD AD 9S 6H 7H 8H TH JH QH KH AH \n6C 7C 9C JC QC KC AC 8D TD 6S 7S 8S TS JS QS KS AS 9H \n8C TC 6D 7D 9D JD QD KD AD 9S 6H 7H 8H TH JH QH KH AH \n6C 7C 8C JC QC KC AC 9D 6S 7S 8S TS JS QS KS AS 9H TH \n9C TC 6D 7D 8D TD JD QD KD AD 9S 6H 7H 8H JH QH KH AH'.split('\n')
k = int(input())
print('\n'.join(a[:2 * k]))