QOJ.ac

QOJ

حد الوقت: 1.0 s حد الذاكرة: 512 MB مجموع النقاط: 100

#18081. 連鎖接龍

الإحصائيات

本題介紹了一種「蠍子」(Scorpion)接龍遊戲的變體。

你擁有一副 52 張的撲克牌,被發成七個牌堆。每個牌堆可以有任意數量的牌,包括某些牌堆為空的情況(我們稱之為空牌堆)。每張牌都有花色($\diamondsuit, \heartsuit, \spadesuit, \clubsuit$)與點數(由小到大依序為:A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K)。

在每一回合中,你可以執行以下操作:選擇某個牌堆中的一張牌(你可以選擇任何一張),並將其連同其上方所有的牌一起移動到另一個牌堆的最下方(牌堆的底部部分作為一個整體移動)。你只能將當前選定的牌移動到一張花色相同且點數恰好大 1 的牌上。例如,$5\spadesuit$ 只能移動到 $6\spadesuit$ 上,$A\heartsuit$ 只能移動到 $2\heartsuit$ 上,如下圖所示。如果當前選定的牌點數為 K,則僅當它位於另一個牌堆中(而非牌堆頂端)時,你才能將其連同其上方的所有牌一起移動到一個空牌堆中。

遊戲的目標是建立 4 個從 K 到 A 的同花色序列牌堆(K 在牌堆頂端,A 在牌堆底部)。

輸入格式

輸入包含 7 行,第 $i$ 行描述第 $i$ 個牌堆。第 $i$ 行以整數 $k_i$ 開頭($0 \le k_i \le 52$),代表第 $i$ 個牌堆中的牌數,隨後是 $k_i$ 個雙字元字串,描述從上到下牌堆中的牌。第一個字元代表點數("A", "2", "3", "4", "5", "6", "7", "8", "9", "T", "J", "Q", "K" 分別對應 A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K),第二個字元代表花色("D", "H", "S", "C" 分別對應 $\diamondsuit, \heartsuit, \spadesuit, \clubsuit$)。

保證輸入資料包含所有 52 張牌,且每張牌恰好出現一次。

輸出格式

如果無法贏得遊戲,請輸出 "NO"。否則,在第一行輸出 "YES",在第二行輸出移動次數,並在第三行輸出進行移動時所選取的牌。若有多種解法,輸出其中任意一種即可。

範例

範例輸入 1

14 KD QD JD TD 9D 8D 7D 6D 5D 4D 3D 2D AD KH
12 AS 6C 5C 4C 3C 2C AC 6S 5S 4S 3S 2S
11 KS QS JS TS 9S 8S 7S 5H 4H 3H 2H
1 KC
0
11 8H 7H 6H QC JC TC 9C 8C 7C QH JH
3 AH TH 9H

範例輸出 1

YES
10
QH 6C AS KH AH QC 5H 6S TH 8H

範例輸入 2

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

範例輸出 2

YES
20
JH KD 6H KS JC 8H QD KC 2H TS QS 8S 3S AH TC 3C 2C 5H 4H TD

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.