AT_abc061_d [ABC061D] Score Attack
题目描述
有一个包含 $N$ 个顶点和 $M$ 条带权有向边的有向图。
第 $i$ 条边($1 \leq i \leq M$)连接顶点 $a_i$ 到顶点 $b_i$,权值为 $c_i$。
利用这个图和棋子,进行如下的一人游戏。
最开始,将棋子放在顶点 $1$,玩家的分数为 $0$。
玩家可以按照以下规则不断移动棋子:
- 当棋子在顶点 $a_i$ 时,可以通过第 $i$ 条边移动到顶点 $b_i$。移动后,玩家的分数增加 $c_i$。
只有当棋子在顶点 $N$ 时,游戏才能结束。
保证在给定的有向图中,存在从顶点 $1$ 到顶点 $N$ 的路径。
当玩家采取使游戏结束时分数尽可能大的策略时,游戏结束时的分数会是多少?
如果游戏结束时的分数可以无限大,请输出 `inf`。
输入格式
输入以如下格式从标准输入读入:
> $N$ $M$
> $a_1$ $b_1$ $c_1$
> $a_2$ $b_2$ $c_2$
> $\vdots$
> $a_M$ $b_M$ $c_M$
输出格式
如果游戏结束时的分数可以无限大,输出 `inf`;否则输出游戏结束时分数的最大值。
说明/提示
## 限制条件
- $2 \leq N \leq 1000$
- $1 \leq M \leq \min(N(N-1), 2000)$
- $1 \leq a_i, b_i \leq N\ (1 \leq i \leq M)$
- $a_i \neq b_i\ (1 \leq i \leq M)$
- $a_i \neq a_j$ 或 $b_i \neq b_j\ (1 \leq i < j \leq M)$
- $-10^9 \leq c_i \leq 10^9\ (1 \leq i \leq M)$
- $c_i$ 为整数。
- 给定的图保证存在从顶点 $1$ 到顶点 $N$ 的路径。
## 样例解释 1
将棋子移动到顶点 $N=3$ 的路径有以下两种:
- 顶点 $1$ → 顶点 $2$ → 顶点 $3$:分数 $4+3=7$
- 顶点 $1$ → 顶点 $3$:分数 $5$
因此,游戏结束时分数的最大值为 $7$。
## 样例解释 2
通过不断执行“顶点 $1$ → 顶点 $2$ → 顶点 $1$ → 顶点 $2$ …”的操作,可以让游戏结束时的分数无限增加。
由 ChatGPT 4.1 翻译