c206. 卡牌對決
Tags :
Accepted rate : 2人/2人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2026-04-21 12:37

Content

有兩位玩家 A 與 B 進行卡牌對決。

玩家 A 擁有 Na 張牌,

玩家 B 擁有 Nb 張牌,

兩人皆可以自由決定出牌順序。

當第 i 場對決時:

  • 若 B 的卡牌點數 > Aᵢ → B 獲勝
  • 若 B 的卡牌點數 < Aᵢ → A 獲勝
  • 若兩者相等 → 平手

     

請你幫助玩家 B 制定最佳出戰策略,使得:B 的勝場數最大化

Input
  • 第一行為兩個整數 Na,Nb
    (1 ≤ N ≤ 1,000)
  • 第二行包含 Na 個整數 A
    表示玩家 A 擁有的卡牌點數
    (1 ≤ Aᵢ ≤ 1,000)
  • 第三行包含 Nb 個整數 B
    表示玩家 B 擁有的卡牌點數
    (1 ≤ Bᵢ ≤ 1,000)
  • 100%測資第二行及第三行由小到大排序
Output

輸出一個整數,表示玩家 B 在最佳策略下最多可以贏幾場

Sample Input #1
6 6
10 10 20 20 30 30
15 15 15 25 25 35
Sample Output #1
5
Sample Input #2
3 5
1 500 1000
2 3 400 600 999
Sample Output #2
2
測資資訊:
記憶體限制: 64 MB
不公開 測資點#0 (20%): 1.0s , <1K
不公開 測資點#1 (20%): 1.0s , <1K
不公開 測資點#2 (20%): 1.0s , <1K
不公開 測資點#3 (20%): 1.0s , <1K
不公開 測資點#4 (20%): 1.0s , <1K
Hint :

交換論證

假設存在一個最優解,不符合我們策略:

  • 它用了一張較大的 B[k] 去贏 A[i]
  • 而把較小的 B[j] 留給後面

那我們交換:

  • 用 B[j] 去贏 A[i]
  • B[k] 留給後面

👉 不會變差,甚至更好

Tags:
出處:
[管理者: stu310114(亦菘) ]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」