#41397: python


mountainwu14@gmail.com (吳小四)

學校 : 不指定學校
編號 : 187101
來源 : [123.193.136.130]
最後登入時間 :
2024-07-25 20:25:33
d545. 2. 抽紙牌(poker) -- 98學年度台北市資訊學科能力競賽 | From: [123.193.136.130] | 發表日期 : 2024-07-24 10:50

# 定義撲克牌數字大小順序
value_order = {'K': 13, 'Q': 12, 'J': 11, 'A': 1}
# 花色大小順序
suit_order = {'S': 4, 'H': 3, 'D': 2, 'C': 1}

# 將撲克牌數字轉換為便於比較的整數值
def card_value(card):
    if card in value_order:
        return value_order[card]
    return int(card)

# 讀取輸入
n = int(input())  # 讀取第一行的數字 N
cards = input().split()  # 讀取第二行的 2N 個字符
m = int(input())  # 讀取第三行的數字 M

# 將牌組轉換為 (花色, 數字) 的列表
deck = [(cards[i], cards[i+1]) for i in range(0, 2*n, 2)]

# 定義排序規則
def card_key(card):
    suit, value = card
    return (card_value(value), suit_order[suit])

# 排序牌組
deck.sort(key=card_key, reverse=True)

# 找到第 M 大的牌
mth_card = deck[m-1]
print(mth_card[0], mth_card[1])

 
ZeroJudge Forum