比赛 |
练习222 |
评测结果 |
AAAAAAAA |
题目名称 |
服务点设置 |
最终得分 |
100 |
用户昵称 |
FFF团 |
运行时间 |
0.012 s |
代码语言 |
C++ |
内存使用 |
0.35 MiB |
提交时间 |
2017-05-16 21:07:25 |
显示代码纯文本
- #include<bits/stdc++.h>
- #include<cstdio>
- #include<iostream>
- using namespace std;
- int d[101][101],x,y,z,maxx=0x7fffffff,ans,n,m;
- int main(){
- freopen("djsa.in","r",stdin);
- freopen("djsa.out","w",stdout);
- scanf("%d %d\n",&n,&m);
- for(int i=0;i<n;i++){
- for(int j=0;j<n;j++)
- d[i][j]=10000000;
- d[i][i]=0;
- }
- for(int i=1;i<=m;i++){
- scanf("%d %d %d\n",&x,&y,&z);
- d[x][y]=z;
- d[y][x]=z;
- }
- for(int k=0;k<n;k++)
- for(int i=0;i<n;i++){
- int maxi=-0x7fffffff;
- for(int j=0;j<n;j++){
- if(d[i][k]+d[k][j]<d[i][j])
- d[i][j]=d[i][k]+d[k][j];
- maxi=max(maxi,d[i][j]);
- }
- if(maxx>maxi){
- maxx=maxi;
- ans=i;
- }
- }
- printf("%d\n",ans);
- return 0;
- }