B. 号令牌局

    传统题 1000ms 256MiB

号令牌局

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

号令牌局

题目描述

桌上有 nn 张牌。第 ii 张牌有三个属性:

  • 阵营 cic_i,为 AB
  • 等级 hih_i
  • 价值 viv_i

Alice 和 Bob 轮流拿牌,Alice 先手。

每次操作时,当前玩家必须从桌上所有剩余牌中,选择一张等级最大的牌拿走。如果有多张等级最大的牌,可以任选其中一张。

计分规则如下:

  • Alice 拿走阵营为 A 的牌,Alice 得 viv_i 分;
  • Bob 拿走阵营为 B 的牌,Bob 得 viv_i 分;
  • 其他情况不得分。

所有牌都被拿走后,分数高的人获胜;若分数相同,则平局。

双方都以最优策略行动。请判断最终结果。

输入格式

第一行输入一个整数 TT,表示测试数据组数。

对于每组测试数据:

第一行输入一个整数 nn,表示牌的数量。

第二行输入一个长度为 nn 的字符串 cc,第 ii 个字符表示第 ii 张牌的阵营。

第三行输入 nn 个整数 h1,h2,,hnh_1,h_2,\dots,h_n,表示每张牌的等级。

第四行输入 nn 个整数 v1,v2,,vnv_1,v_2,\dots,v_n,表示每张牌的价值。

数据范围

对于所有测试数据,保证:

1T2×1051 \le T \le 2 \times 10^5 1n2×1051 \le n \le 2 \times 10^5 1hi1091 \le h_i \le 10^9 1vi1091 \le v_i \le 10^9 ci{A,B}c_i \in \{\texttt{A},\texttt{B}\}

所有测试数据的 nn 之和不超过 2×1052 \times 10^5

输出格式

对于每组测试数据输出一行:

  • 若 Alice 最终得分更高,输出 Alice
  • 若 Bob 最终得分更高,输出 Bob
  • 若双方得分相同,输出 Draw

输入输出样例 #1

输入 #1

6
1
A
10
5
1
B
7
3
2
AB
5 5
10 1
4
ABBB
9 9 9 9
1 100 2 2
3
ABB
10 5 5
5 3 4
5
BAAAB
100 100 50 50 50
100 1 10 9 1

输出 #1

Alice
Draw
Alice
Bob
Alice
Alice

说明/提示

第一组中,Alice 直接拿走唯一的 A 牌,得到 55 分,因此 Alice 获胜。

第二组中,Alice 拿走唯一的 B 牌,不得分,Bob 也没有得分,因此最终平局。

第三组中,两张牌等级相同。Alice 会先拿价值为 1010A 牌,Bob 再拿价值为 11B 牌,因此 Alice 获胜。

第四组中,四张牌等级相同。Alice 第一手会抢走价值为 100100B 牌,使 Bob 无法得到这 100100 分;之后 Bob 还能拿到一张价值为 22B 牌,因此 Bob 获胜。

第五组中,等级为 1010A 牌必须先被 Alice 拿走,Alice 得 55 分。剩下两张等级为 55B 牌中,Bob 会先拿走价值为 44 的牌,最终 Alice 以 5:45:4 获胜。

第六组中,Alice 第一手抢走等级为 100100、价值为 100100B 牌,Bob 拿走另一张等级为 100100A 牌。进入等级为 5050 的牌时仍由 Alice 先手,Alice 可以拿到价值为 101011 的两张牌,最终 Alice 获胜。

【睿爸信奥】入门组算法周赛(20260606)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-6-6 0:00
结束于
2026-6-13 0:00
持续时间
4 小时
主持人
参赛人数
22