Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
---|---|---|---|---|---|---|---|---|---|
68109 | 王籽易 | 最爱的城市 | C++ | Wrong Answer | 0 | 4 MS | 6904 KB | 925 | 2023-02-02 14:54:10 |
#include<bits/stdc++.h> using namespace std; int n,m; int e[500001],w[500001],ne[500001],h[500001],idx=1,s,y; void add(int a,int b,int wi){ e[idx]=b,w[idx]=wi,ne[idx]=h[a],h[a]=idx++; } void spfa(){ int dist[100001],st[100001],ans; queue<int> t; memset(dist,0x3f,sizeof(dist)); memset(st,0,sizeof(st)); dist[s]=0; st[s]=1; t.push(s); while(!t.empty()){ int k=t.front(); st[k]=0; t.pop(); for(int i=h[k];i!=-1;i=ne[i]){ int d=e[i]; if(dist[d]>dist[k]+w[i]){ dist[d]=dist[k]+w[i]; if(st[d]==0){ st[d]=1; t.push(d); } } } } if(dist[y]>0x3f3f3f3f-1000000000) cout<<"No path"; else cout<<dist[y]; } int main(){ cin>>n>>m; memset(e,-1,sizeof(e)); memset(ne,-1,sizeof(ne)); memset(h,-1,sizeof(h)); for(int i=1;i<=m;i++){ int a,b,wi; cin>>a>>b>>wi; add(a,b,wi); add(b,a,wi); } cin>>s>>y; spfa(); return 0; }