Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
41985 杨竣周 城市路(Dijkstra) C++ 运行出错 54 2 MS 380 KB 698 2022-06-19 21:31:13

Tests(6/11):


#include<bits/stdc++.h> using namespace std; const int N=2010,M=10010; int e[M],ne[M],h[N],w[M],idx,dis[N],st[N],n,m; void add(int a,int b,int c){ e[idx]=b; ne[idx]=h[a]; w[idx]=c; h[a]=idx++; } int D(){ memset(dis,0x3f,sizeof(dis)); dis[1]=0; for(int i=1;i<=n;i++){ int t=-1; for(int j=1;j<=n;j++){ if(!st[j]&&(t==-1||dis[t]>dis[j])) t=j; } st[t]=1; for(int j=h[t];j!=-1;j=ne[j]){ dis[e[j]]=min(dis[e[j]],dis[t]+w[j]); } } if(dis[n]==0x3f3f3f3f) return -1; return dis[n]; } int main(){ cin>>n>>m; memset(h,-1,sizeof(h)); int a,b,c; for(int i=1;i<=m;i++){ cin>>a>>b>>c; add(a,b,c);add(b,a,c); } cout<<D()<<endl; return 0; }


测评信息: