#include<bits/stdc++.h> using namespace std; struct Node{ int to,w,next; }edge[100]; int n,m,t,head[1000],u,v,w,start,end,vis[1000],ans=INT_MAX;//head记录的是每个老爸刚刚生的儿子编号 void add(int u,int v,int w){ t++; edge[t].to=v; edge[t].w=w; edge[t].next=head[u]; head[u]=t; } void dfs(int x,int w){ //cout<<x<<" "; if(x==end){ ans=min(ans,w); //cout<<endl; return; } for(int i=head[x];i!=0;i=edge[i].next){ if(vis[edge[i].to]==0){ vis[edge[i].to]=1; dfs(edge[i].to,w+edge[i].w); vis[edge[i].to]=0; } } } int main(){ cin>>n>>m; while(m--){ cin>>u>>v>>w;//u代表父亲 V代表儿子 add(u,v,w); add(v,u,w); } cin>>start>>end; // for(int i=1;i<=n;i++) cout<<head[i]<<" "; // cout<<endl; // for(int i=1;i<=t;i++){ // cout<<i<<" "<<edge[i].to<<" "<<edge[i].w<<" "<<edge[i].next<<endl; // } vis[start]=1; dfs(start,0); if(ans==INT_MAX) cout<<"No path"; else cout<<ans; //7 6 //1 2 //1 3 //2 4 //2 5 //3 6 //4 7 } /************************************************************** Problem: 2044 User: admin Language: C++ Result: Compile Error ****************************************************************/