比赛 |
练习222 |
评测结果 |
AAAAAAAA |
题目名称 |
服务点设置 |
最终得分 |
100 |
用户昵称 |
REALIZE_BEYOND |
运行时间 |
0.011 s |
代码语言 |
C++ |
内存使用 |
0.35 MiB |
提交时间 |
2017-05-16 20:14:15 |
显示代码纯文本
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std;
const int I=666666;
int n,m,num=0,ans=I,f[101][101],i,j,k;
int main()
{
freopen("djsa.in","r",stdin);
freopen("djsa.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
f[i][j]=I;
for(i=0;i<n;i++)f[i][i]=0;
for(i=1;i<=m;i++)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
f[x][y]=f[y][x]=z;
}
for(k=0;k<n;k++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(f[i][k]+f[k][j]<f[i][j])
f[i][j]=f[i][k]+f[k][j];
for(i=0;i<n;i++)
{
int temp=0;
for(j=0;j<n;j++)
if(f[i][j]!=I)
temp=max(temp,f[i][j]);
if(temp<ans)
{
ans=temp;
num=i;
}
}
printf("%d",num);
return 0;
}