提交时间:2024-06-01 15:06:01

运行 ID: 150063

#include<bits/stdc++.h> using namespace std; #define int long long int p,f,c; int t1,t2,t3; int a[1015][1015]; signed main(){ cin>>p>>f>>c; int ff[5005]; memset(a,0x3f3f3f3f,sizeof(a)); for(int i=1;i<=f;i++){ cin>>ff[i]; } for(int i=1;i<=c;i++){ cin>>t1>>t2>>t3; a[t1][t2]=t3; a[i][i]=0; } for(int i=1;i<=p;i++){ for(int j=1;j<=p;j++){ for(int k=1;k<=p;k++){ a[i][j]=min(a[i][j],a[i][k]+a[k][j]); } } } // for(int i=1;i<=p;i++){ // for(int j=1;j<=p;j++){ // cout<<a[i][j]<<' '; // } // cout<<endl; // } int minn=0x3f3f3f3f3f,sum,t; for(int i=1;i<=p;i++){ sum=0; for(int j=1;j<=f;j++){ sum+=a[i][ff[j]]; } if(minn>sum){ minn=sum; t=i; } } cout<<t; return 0; } //