#AT2402. F - Pay or Receive
F - Pay or Receive
当前没有测试数据。
F - 支付或接收
分值:500分
问题描述
有$N$个城镇,编号为$1,\ldots,N$,以及$M$条道路,编号为$1,\ldots,M$。
第$i$条道路连接城镇$A_i$和$B_i$。当你使用一条道路时,你的分值会按照以下规则变化:
- 当你从城镇$A_i$移动到城镇$B_i$,使用道路$i$时,你的分值会增加$C_i$;当你从城镇$B_i$移动到城镇$A_i$,使用道路$i$时,你的分值会减少$C_i$。
你的分值可能为负数。
回答以下$Q$个问题。
- 如果你从初始分值为$0$的城镇$X_i$开始旅行,求在到达城镇$Y_i$时可能的最大分值。
如果你无法从城镇$X_i$到达城镇$Y_i$,输出nan
;如果在到达城镇$Y_i$时,你可以获得尽可能大的分值,输出inf
。
约束
- $2\leq N \leq 10^5$
- $0\leq M \leq 10^5$
- $1\leq Q \leq 10^5$
- $1\leq A_i,B_i,X_i,Y_i \leq N$
- $0\leq C_i \leq 10^9$
- 输入中的所有值都是整数。
输入
输入数据有以下格式:
输出
按照问题描述中的要求输出$Q$行。
第$i$行输出第$i$个问题的答案。
5 5 3
1 2 1
1 2 2
3 4 1
4 5 1
3 5 2
5 3
1 2
3 1
-2
inf
nan
对于第一个问题,如果使用道路$5$从城镇$5$移动到城镇$3$,在到达城镇$3$时,你可以获得分值$-2$。
由于你无法获得更大的分值,答案是$-2$。
对于第二个问题,如果你按照以下规则行动,你可以在到达城镇$2$时获得任意大的分值: 反复“使用道路$2$从城镇$1$移动到城镇$2$,然后使用道路$1$从城镇$2$移动到城镇$1$”任意次数, 最后使用道路$2$从城镇$1$移动到城镇$2$。
对于第三个问题,你无法从城镇$3$到达城镇$1$。
2 1 1
1 1 1
1 1
inf
一条道路的两个端点可能相同,同样的,问题中给定的两个城镇也可能相同。
9 7 5
3 1 4
1 5 9
2 6 5
3 5 8
9 7 9
3 2 3
8 4 6
2 6
4 3
3 8
3 2
7 9
inf
nan
nan
inf
-9