1 条题解
-
0
等一下你好像也没告诉我这个是有向图吧?
#include<bits/stdc++.h> using namespace std; #define int long long const int N=2e5+10; int dp[N],a[N]; struct node{int x,y,c;}e[N]; signed main() { int n,m,k;cin>>n>>m>>k; for(int i=1;i<=m;i++)cin>>e[i].x>>e[i].y>>e[i].c; for(int i=1;i<=k;i++)cin>>a[i]; memset(dp,0x3f,sizeof(dp));dp[1]=0; for(int i=1;i<=k;i++) { int x=e[a[i]].x,y=e[a[i]].y,w=e[a[i]].c; dp[y]=min(dp[y],dp[x]+w); } cout<<(dp[n]==0x3f3f3f3f3f3f3f3f?-1:dp[n]); return 0; }
- 1
信息
- ID
- 10030
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 3
- 上传者