您的位置:首页 > 理论基础 > 计算机网络

272. 网络的核-计算机一2014 北邮机试题目

2017-08-18 18:09 465 查看


题目描述



#include<cstdio>
#include<iostream>
using namespace std;
int m,n;
int dist[60][60];
void floyd(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
if(dist[j][k]>dist[j][i]+dist[i][k]){
dist[j][k]=dist[j][i]+dist[i][k];
}
}
}
}
}
int main(){
int t;
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
dist[i][j]=n;
}
dist[i][i]=0;
}
int a,b;
for(int i=0;i<m;i++){
scanf("%d%d",&a,&b);
dist[a][b]=1;
dist[b][a]=1;
}
floyd();
int mi=100000000;
int res=0;
for(int i=1;i<=n;i++){
int tt=0;
for(int j=1;j<=n;j++){
tt+=dist[i][j];
}
if(tt<mi){
mi=tt;
res=i;
}
}
printf("%d\n",res);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: