Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
150679 | 吴悠 | 最佳牧场 | C++ | 通过 | 100 | 101 MS | 1224 KB | 690 | 2024-06-06 19:54:05 |
#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; }