提交时间:2024-06-06 19:54:05

运行 ID: 150679

#include<iostream> using namespace std; int a[501][501],fav[501]; int main(){ int p,f,c,x,y,t,ans=0x3f3f3f3f,id; cin>>p>>f>>c; for(int i=1;i<=p;i++){ for(int j=1;j<=p;j++){ a[i][j]=0x3f3f3f3f; } } for(int i=1;i<=p;i++){ a[i][i]=0; } for(int i=1;i<=f;i++){ cin>>fav[i]; } for(int i=1;i<=c;i++){ cin>>x>>y>>t; a[x][y]=t; a[y][x]=t; } for(int k=1;k<=p;k++){ for(int i=1;i<=p;i++){ for(int j=1;j<=p;j++){ a[i][j]=min(a[i][j],a[i][k]+a[k][j]); } } } for(int i=1;i<=p;i++){ int dis=0; for(int j=1;j<=f;j++){ dis+=a[i][fav[j]]; } if(dis<ans){ ans=dis; id=i; } } cout<<id<<endl; return 0; }