Dijkstra Shortest Reach 2
Dijkstra Shortest Reach 2
h>
using namespace std;
int main(){
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int t;
cin>>t;
for(int i=0;i<t;i++){
int n,m;
cin>>n>>m;
vector<mi2> adj(n+1);
for(int j=0;j<m;j++){
int u,v,w;
cin>>u>>v>>w;
ie(adj[u],v,w);
ie(adj[v],u,w);
}
int s;
cin>>s;
vi dis(n+1,INT_MAX);
dis[s]=0;
dijkstra(n, adj, dis);
for(int j=1;j<n+1;j++){
if(dis[j]!=0){
if(dis[j]==INT_MAX){
cout<<"-1 ";
}
else{
cout<<dis[j]<<" ";
}
}
}
cout<<endl;
}
}