赚钱

测试数据来自 system/2043

作业已超过截止时间,您无法递交本题目。

时间限制:1秒  内存限制:256M


【题目描述】

  C国有个特殊的规定:一个人在一个城市最多只能赚 \(d(0 < d ≤ 1000)\) 元RMB,然后他必须到另一个城市工作。当然,他可以在别处工作一阵后又回来再赚 \(d\) 元RMB,然后又必须离开……。这样往往返返的次数没有限制。

  城市间 \(m\) 条单向道路连接,共有 \(n\) 座城市(编号为1..n)。小H当前在城市 \(s\)。道路 \(i\) 从城市 \(a_i\) 到城市 \(b_i\),在道路上行走不用花费任何费用。

  为了帮助小H,他的父亲允许他使用他的私人飞机,飞机有 \(k\) 条航线,第 \(j\) 条航线是从城市 \(a_j\) 到城市 \(b_j\),费用是 \(c_j(1≤c_j≤50000)\) 元RMB,如果小H手中没有现钱,可以用以后赚的钱来付机票钱,小H可以选择在任何时候,任何城市退休。

  如果在工作时间上不作限制,小H总共可以赚多少钱呢?如果赚的钱不会出现上限,就输出 INF。

【输入格式】

  第 1 行:五个用空格分开的整数 \(d,m,n,k,s\)。
  第 2 到第 \(m+1\) 行:第 \(i+1\) 行包含 2 个空格分开的整数,表示从 \(a_i\) 到 \(b_i\) 的单向道路。
  第 \(m+2\) 到 \(m+k+1\) 行:第 \(m+j\) 包括 3 个空格分开的整数,表示一条从 \(a_j\) 到 \(b_j\) 的单向航线,费用为 \(c_j\)。

【输出格式】

  在上述规则下得最多可赚得钱数。

【输入输出样例1】

 Input

100 3 5 2 1
1 5
2 3
1 4
5 2 150
2 5 120

 Output

250

【输入输出样例2】

 Input

100 3 5 2 1
1 5
2 3
1 4
5 2 70
2 5 120

 Output

INF

【数据限制】

  对于 \(100\%\) 的数据,\(1≤n≤300\),\(1≤m≤150\),\(1≤k≤350\)。

【来源】

  Mr.he

最短路径算法练习题(一)

未认领
状态
已结束
题目
10
开始时间
2025-05-30 00:00
截止时间
2025-08-09 23:59
可延期
24.0 小时