记录编号 357954 评测结果 AAAAAAAA
题目名称 双服务点设置 最终得分 100
用户昵称 GravatarkZime 是否通过 通过
代码语言 C++ 运行时间 0.011 s
提交时间 2016-12-13 17:56:42 内存使用 0.35 MiB
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
#define MAX 100
using namespace std;
int n,m; 
int f[MAX][MAX];
void floyed(){
	for(int k=0;k<n;k++)
	for(int i=0;i<n;i++)
	for(int j=0;j<n;j++)
	f[i][j]=min(f[i][k]+f[k][j],f[i][j]);
}
int mx[MAX];
int main(){
	freopen("djsb.in","r",stdin);
	freopen("djsb.out","w",stdout);
	cin>>n>>m;
	memset(f,31,sizeof(f));
	for(int i=0;i<n;i++)f[i][i]=0;
	for(int a,b,c,i=0;i<m;i++){
		cin>>a>>b>>c;
		f[a][b]=f[b][a]=c;
	}
	floyed();
	int a,b,c2=0x7fffff,c1,c,x,y;
	for(int i=0;i<n;i++){
		for(int j=i+1;j<n;j++){
			c1=0;
			for(int k=0;k<n;k++){
				c=f[i][k];
				if (c>f[j][k]) c=f[j][k];
				if (c>c1) c1=c;
			}
			if (c1<c2){
				c2=c1;
				x=i;
				y=j;
			}
		}
	}
	cout<<x<<" "<<y;	 
}