AT_ttpc2022_j.Jewel Game
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个有 N 个顶点、M 条边的有向图。顶点编号为 1 到 N,边编号为 1 到 M。第 i 条边(1≤i≤M)是从顶点 Ai 指向顶点 Bi。这个图中可能包含自环,但不存在重边。保证每个顶点至少有一条从该顶点出发的边。
在 N 个顶点中,有 K 个顶点上放置了宝石。第 i 个(1≤i≤K)宝石放在顶点 Vi 上,价值为 Wi。
First 君和 Second 君在这个图上进行游戏。游戏开始时,First 君在顶点 F,Second 君在顶点 S。First 君先手,之后两人轮流进行以下操作:
- 从自身当前位置出发,选择一条外连的边,沿该边移动到下一个顶点。如果到达的顶点上有宝石,就获得该宝石,并将它从图上移除。
当所有宝石被取走,或游戏过程中出现与之前完全相同的局面(即轮到谁行动、两位玩家的位置、剩余宝石的分布三者都与之前任一回合一致),游戏便结束。
两人都以最大化“自己获得的宝石总价值 − 对方获得的宝石总价值”为目标行动。请计算当两人都采取最优策略时,游戏结束时 First 君获得的宝石总价值 − Second 君获得的宝石总价值。
输入格式
输入以如下格式从标准输入读入:
N M F S
A_1 B_1
⋮
A_M B_M
K
V_1 W_1
⋮
V_K W_K
输出格式
输出一行答案。
输入输出样例
输入#1
5 16 1 1 1 2 1 3 1 4 1 5 2 3 2 4 2 5 3 2 3 4 3 5 4 2 4 3 4 5 5 2 5 3 5 4 4 2 4 3 84 4 38 5 96
输出#1
46
输入#2
8 16 8 4 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 1 1 5 2 6 3 7 4 8 5 1 6 2 7 3 8 4 6 1 29 2 34 3 41 5 7 6 26 7 94
输出#2
-23
输入#3
5 5 2 1 1 1 2 3 3 4 4 5 5 2 2 4 1000000 5 100000
输出#3
1100000
输入#4
10 20 1 2 1 4 1 7 2 2 2 4 3 6 3 3 4 8 4 7 5 7 5 1 6 9 6 2 7 9 7 3 8 8 8 6 9 7 9 8 10 10 10 2 8 3 92067840 4 2874502 5 36253165 6 70758738 7 4768969 8 16029185 9 16207515 10 44912151
输出#4
132484345
说明/提示
样例解释 1
任意顶点都可到达所有宝石。游戏流程如下:
- First 君从顶点 1 移动到顶点 5,获得价值 96 的宝石。
- Second 君从顶点 1 移动到顶点 3,获得价值 84 的宝石。
- First 君从顶点 5 移动到顶点 4,获得价值 38 的宝石。
- Second 君从顶点 3 移动到顶点 2,获得价值 4 的宝石。
于是答案为 (96+38)−(84+4)=46。
数据范围
- 输入均为整数。
- 2≤N≤30
- 1≤F,S≤N
- 1≤Ai,Bi≤N(1≤i≤M)
- (Ai,Bi)=(Aj,Bj)(1≤i<j≤M)
- 对任意 x(1≤x≤N),存在 Ai=x 的 i。
- 1≤K≤10
- 1≤V1<⋯<VK≤N
- Vi∈/{F,S}(1≤i≤K)
- 1≤Wi≤108(1≤i≤K)
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?