定义dp[i][s]表示到点i且花费为s的方案有多少。
那么对于通向点i的点集v∈V,有dp[i][s+wv−>i]+=dp[v][s]
最终答案为dp[n][E]
在一片大陆上,有 n 座城市,编号为 1 到 n,城市之间有 m 条有向道路。第 i 条道路从城市 ui 通往城市 vi,通行费为 wi。一位旅行者打算从城市 1 出发,前往城市 n,并且他恰好携带 E 元,希望将钱全部花完,不多不少。请你计算有多少种不同的路线,使得总通行费恰好等于 E。
两条路线视为不同,当且仅当它们经过的道路序列不同。注意,可能有多条道路连接相同的两个城市且费用相同,每一条都应视为不同的选择。
输入保证:城市数量 n 满足 1≤n≤100,道路数量 m 满足 1≤m≤1000,旅行者的预算 E 满足 1≤E≤1000,每条道路的费用 wi 满足 1≤wi≤E。
第一行包含三个整数 n,m,E,分别表示城市数量、有向道路数量和旅行者的预算。 接下来 m 行,每行包含三个整数 ui,vi,wi,表示一条从 ui 到 vi 的有向道路,其通行费为 wi。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册