TopCoder

User's AC Ratio

NaN% (0/0)

Submission's AC Ratio

NaN% (0/0)

Tags

Description

Alice 和 Bob 玩一局排七,一副 52 張牌平分,兩人各持 26 張。牌分 ♠ 黑桃、♥ 紅心、♦ 方塊、♣ 梅花四種花色,每種花色從 A(當作 1)到 K(當作 13)共 13 張。Alice 的手牌已給定,其餘 26 張是 Bob 的。

持有 ♦7 的人先手,且第一手必須打出 ♦7,之後兩人輪流出牌。每個花色一開始都還沒有任何牌;要先打出該花色的 7,這個花色才算「開門」、可以開始接牌——換句話說,一個花色的 7 還沒被打出之前,這個花色的牌都不能打。一個花色開門後,它攤在桌面上的牌會是一段以 7 為中心、向兩側延伸的連續區間;之後在這個花色只能接在區間的兩端,也就是比最小那張再小一、或比最大那張再大一的牌。舉例來說,桌上某花色是 5、6、7、8 時,此刻能接的只有 4 和 9。

輪到你時,只要手上有合法的牌就必須打出一張。若輪到你、手裡還有牌卻一張都接不出去,你就先出不了牌而落敗(特別注意沒有常見的蓋牌規則);先把手牌出完的人則獲勝。雙方都採取最佳策略。

下圖是一局進行到一半的盤面(此盤面不是真實盤面,只是方便說明用的例子),每一列是一個花色,攤開的牌就是已經打出的:

圖中每一列代表一個花色,攤開的牌就是已經打出的,可以看到每列都是以 7 為中心向兩側連成一段。方塊最先開門,已經從 2 鋪到 J;黑桃、紅心各延伸了一小段;梅花還沒有人打出 ♣7,所以整列空著。每個花色標成黃色虛線框的格子,是此刻兩端能接上去的牌。下方是 Alice 的手牌:亮框的三張(♣7、♠10、♦A)正落在這些端點上,輪到她時就能打出;灰掉的三張(♠K、♥J、♣2)暫時接不上——♠K 要等 10、J、Q 補齊、♣2 要等梅花開門,在那之前只能一直留在手裡。

給定 Alice 的手牌,求最佳對局下的贏家。

Input Format

輸入只有一行,包含以空白分隔的 26 張牌,代表 Alice 的手牌;其餘 26 張即為 Bob 所有。每張牌以兩個字元表示,前一個字元是花色,後一個字元是點數:花色為 S(♠ 黑桃)、H(♥ 紅心)、D(♦ 方塊)、C(♣ 梅花)其中之一,點數為 A29T(代表 10)、JQK 其中之一。保證這 26 張牌彼此相異、且皆為合法的牌。

  • 輸入描述 Alice 的手牌,取自同一副標準的 52 張撲克牌。
  • Alice 的手牌恰為 $26$ 張。
  • 每張牌都合法:花色為 $\texttt{S}, \texttt{H}, \texttt{D}, \texttt{C}$ 其中之一,點數為 $\texttt{A}, \texttt{2}, \dots, \texttt{9}, \texttt{T}, \texttt{J}, \texttt{Q}, \texttt{K}$ 其中之一($\texttt{T}$ 代表 $10$)。
  • 這 $26$ 張牌兩兩相異;Bob 恰好持有牌堆中其餘的 $26$ 張。

Output Format

輸出一行,為最佳策略下的贏家名字,即 AliceBob

Sample Input 1

SJ C6 D8 C5 S9 D5 SK H4 H6 C7 DT HT C4 ST S3 H2 H9 SQ D4 S7 D9 S8 DA D7 H3 D6

Sample Output 1

Alice

Sample Input 2

DT D5 H7 DQ S7 ST HT H6 D2 CA S3 HJ D7 S8 S4 S9 C4 C2 HK S5 HQ H4 SK H3 CK D4

Sample Output 2

Bob

Sample Input 3

D7 S9 DJ C5 HA C9 DT C2 D8 DQ CJ S8 CT H2 SJ DK C6 ST HQ CK S5 SQ H7 C7 S3 S6

Sample Output 3

Bob

Sample Input 4

SA S2 S3 S4 S5 S6 S7 S8 S9 ST SJ SQ SK HA H2 H3 H4 H5 H6 H7 H8 H9 HT HJ HQ HK

Sample Output 4

Bob

Hints

對於範例測資 1,兩人一開始的手牌,依花色整理如下:

| 花色 | Alice | Bob |
| :-: | :-- | :-- |
| ♠ 黑桃 | 3 7 8 9 10 J Q K | A 2 4 5 6 |
| ♥ 紅心 | 2 3 4 6 9 10 | A 5 7 8 J Q K |
| ♦ 方塊 | A 4 5 6 7 8 9 10 | 2 3 J Q K |
| ♣ 梅花 | 4 5 6 7 | A 2 3 8 9 10 J Q K |

♦7 在 Alice 手上,所以 Alice 先手、第一手打出 ♦7,之後兩人輪流出牌。

雙方都採最佳策略時,其中一種出牌順序如下:

Alice ♦7 → Bob ♥7 → Alice ♠7 → Bob ♠6 → Alice ♠8 → Bob ♠5 → Alice ♠9 → Bob ♠4 → Alice ♠3 → Bob ♠2 → Alice ♠10 → Bob ♠A → Alice ♠J → Bob ♥8 → Alice ♠Q

走完這 15 手後,會走到下面這個盤面(桌上已打出的牌):

♠ 黑桃: A 2 3 4 5 6 7 8 9 10 J Q          (兩端可接:K)
♥ 紅心: 7 8                               (兩端可接:6、9)
♦ 方塊: 7                                 (兩端可接:6、8)
♣ 梅花: (沒有人打出 ♣7,整列空著)          (要先打出:7)

此時還沒出完的手牌是:

| 花色 | Alice | Bob |
| :-: | :-- | :-- |
| ♠ 黑桃 | K | (無) |
| ♥ 紅心 | 2 3 4 6 9 10 | A 5 J Q K |
| ♦ 方塊 | A 4 5 6 8 9 10 | 2 3 J Q K |
| ♣ 梅花 | 4 5 6 7 | A 2 3 8 9 10 J Q K |

現在輪到 Bob,但所有能接的位置(♠K、♦6、♦8、♥6、♥9、♣7)對應的牌全都在 Alice 手上。Bob 手裡明明還有牌,卻一張都打不出去,成為先出不了牌的人,因此 Alice 獲勝。

Problem Source

2026 YTP 國中組初賽 p5

Subtasks

No. Testdata Range Constraints Score
1 0~3 範例測試資料 0
2 4~41 無額外限制 20

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 1048576 65536 1
1 1000 1048576 65536 1
2 1000 1048576 65536 1
3 1000 1048576 65536 1
4 1000 1048576 65536 2
5 1000 1048576 65536 2
6 1000 1048576 65536 2
7 1000 1048576 65536 2
8 1000 1048576 65536 2
9 1000 1048576 65536 2
10 1000 1048576 65536 2
11 1000 1048576 65536 2
12 1000 1048576 65536 2
13 1000 1048576 65536 2
14 1000 1048576 65536 2
15 1000 1048576 65536 2
16 1000 1048576 65536 2
17 1000 1048576 65536 2
18 1000 1048576 65536 2
19 1000 1048576 65536 2
20 1000 1048576 65536 2
21 1000 1048576 65536 2
22 1000 1048576 65536 2
23 1000 1048576 65536 2
24 1000 1048576 65536 2
25 1000 1048576 65536 2
26 1000 1048576 65536 2
27 1000 1048576 65536 2
28 1000 1048576 65536 2
29 1000 1048576 65536 2
30 1000 1048576 65536 2
31 1000 1048576 65536 2
32 1000 1048576 65536 2
33 1000 1048576 65536 2
34 1000 1048576 65536 2
35 1000 1048576 65536 2
36 1000 1048576 65536 2
37 1000 1048576 65536 2
38 1000 1048576 65536 2
39 1000 1048576 65536 2
40 1000 1048576 65536 2
41 1000 1048576 65536 2