比赛 |
练习222 |
评测结果 |
AAAAAAAA |
题目名称 |
服务点设置 |
最终得分 |
100 |
用户昵称 |
kZime |
运行时间 |
0.018 s |
代码语言 |
C++ |
内存使用 |
0.36 MiB |
提交时间 |
2017-05-16 20:37:48 |
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
#define MAX 110
using namespace std;
int n,m;
int dis[MAX][MAX],x[MAX];
void floyed(){
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
for(int k=0;k<n;k++)
dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
}
int main(){
freopen("djsa.in","r",stdin);
freopen("djsa.out","w",stdout);
cin>>n>>m;
memset(dis,63,sizeof(dis));
for(int i=0;i<n;i++)dis[i][i]=0;
for(int i=0;i<m;i++){
int n1,n2,l;
cin>>n1>>n2>>l;
dis[n1][n2]=dis[n2][n1]=l;
}
floyed();
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
x[i]=max(x[i],dis[j][i]);
int mi=0x7ffffff,nf;
for(int i=0;i<n;i++)
if(x[i]<mi)
nf=i,mi=x[i];
cout<<nf;
return 0;
}