比赛 练习222 评测结果 AAAAAAAA
题目名称 服务点设置 最终得分 100
用户昵称 HY 运行时间 0.015 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2017-05-16 20:56:12
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int n,m,x,y,s,i,j,k,a;

int main()
{
	freopen("djsa.in","r",stdin);
	freopen("djsa.out","w",stdout);
	cin>>n>>m;
	vector<int>dis[105];
	for(i=0;i!=m;i++)
	{
	 cin>>x>>y>>s;
	 dis[x].resize(n,999999999);
	 dis[y].resize(n,999999999);
	 dis[x][y]=s;
	 dis[y][x]=s;
    }
	
	for(k=0;k!=n;k++)
	  for(i=0;i!=n;i++)
	    for(j=0;j!=n;j++)
		  if(dis[i][j]>dis[i][k]+dis[k][j])
	        dis[i][j]=dis[i][k]+dis[k][j];
    
	vector<int>f;
    f.resize(n,0);
	for(i=0;i<n;i++)
      for(j=0;j<n;j++){
      if(i==j)
	    continue;	
	  if(f[i]<dis[i][j])
      f[i]=dis[i][j];
	  }
    
	int min=999999999;
	for(i=0;i!=f.size();i++)
	  if(f[i]<min){
	    min=f[i];
        a=i;
	  }
	cout<<a;
return 0;				
}