r626. 1. 字母配對
標籤 : APCS
通過比率: 54人/ 72人 ( 75%) [非即時]
評分方式:
Tolerant

最近更新 : 2025-11-16 23:47

內容

你有 $k$ 個堆疊,編號從 $1$ 到 $k$。每個堆疊中包含若干個物品。每個物品有兩個屬性:

  1. 一個大寫英文字母代表編號。

  2. 一個正整數代表分數。

你可以執行任意次操作直到無法操作為止:

操作:

  1. 選擇兩個非空不同的堆疊 $i$ 和 $j$($1 \le i, j \le k$ 且 $i \neq j$)。

  2. 檢查堆疊 $i$ 和堆疊 $j$ 頂部的物品。

  3. 如果這兩個堆疊頂部物品的字母相同,則執行消除:

    • 從堆疊 $i$ 和 $j$ 中移除頂部物品。

    • 獲得的分數為這兩個被移除物品的分數總和

  4. 如果字母不同,則無法執行操作。

目標是執行一系列操作,使得你最終獲得的總分數最大

例如範例測資1,共有 $3$ 個堆疊,若先取編號 $1$ 和編號 $3$ 堆疊頂部的物品累積獲得 $2$ 分,再選擇編號 $1$ 號編號 $2$ 堆疊頂部的物品累積 $6$ 分,此時已無法繼續操作。然而可以先取編號 $1$ 和編號 $3$ 堆疊頂部的物品累積獲得 $2$ 分,再取編號 $1$ 和編號 $3$ 堆疊頂部的物品累積獲得 $5$ 分,最後再取編號 $1$ 和編號 $3$ 堆疊頂部的物品累積獲得 $7$ 分,如此可以獲得更高的分數。

輸入說明

第一行包含一個整數 $k$ ($2 \le k \le 6$),表示堆疊的數量。

接下來 $k$ 行,每行描述一個堆疊的內容。第 $i$ 行描述堆疊 $i$。

每行首先是一個整數 $n_i$,表示堆疊 $i$ 中物品的數量。

接著是 $n_i$ 對 (字母, 分數) 的描述,按照從堆頂到堆底的順序給出。

  • 字母 是一個大寫英文字母('A'-'Z')。

  • 分數 是一個正整數 $s$ ($1 \le s \le 10$ )。

保證每個堆疊最多 $12$ 個物品。

$30$ 分: $k = 3$
$70$ 分: 無限制

輸出說明

輸出一個正整數,代表能獲得的最大分數。

範例輸入 #1
3
3 A 1 B 2 C 1
3 B 2 A 2 A 1
3 A 1 B 1 C 1
範例輸出 #1
7
範例輸入 #2
3
3 X 1 A 1 A 1
2 Y 1 A 1
3 Z 1 A 1 A 1
範例輸出 #2
0
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (5%): 1.0s , <1K
公開 測資點#1 (5%): 1.0s , <1K
公開 測資點#2 (5%): 1.0s , <1K
公開 測資點#3 (5%): 1.0s , <1K
公開 測資點#4 (5%): 1.0s , <1K
公開 測資點#5 (5%): 1.0s , <1K
公開 測資點#6 (5%): 1.0s , <1K
公開 測資點#7 (5%): 1.0s , <1K
公開 測資點#8 (5%): 1.0s , <1K
公開 測資點#9 (5%): 1.0s , <1K
公開 測資點#10 (5%): 1.0s , <1K
公開 測資點#11 (5%): 1.0s , <1K
公開 測資點#12 (5%): 1.0s , <1K
公開 測資點#13 (5%): 1.0s , <1K
公開 測資點#14 (5%): 1.0s , <1K
公開 測資點#15 (5%): 1.0s , <1K
公開 測資點#16 (5%): 1.0s , <1K
公開 測資點#17 (5%): 1.0s , <1K
公開 測資點#18 (5%): 1.0s , <1K
公開 測資點#19 (5%): 1.0s , <1K
提示 :
標籤:
APCS
出處:
APCS [管理者: algo.seacow@ ... (演算法海牛) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
54079 ericshen1955 ... (暴力又被TLE) r626
128 2025-11-18 20:48
54100 cubeman94033 ... (請輸入暱稱) r626
解題報告
85 2025-11-22 02:42
54068 guovinn@gmai ... (郭10) r626
263 2025-11-17 11:18