比赛 ctime蒟蒻生日赛 评测结果 AAAAAAAA
题目名称 双服务点设置 最终得分 100
用户昵称 하루Kiev 运行时间 0.011 s
代码语言 C++ 内存使用 0.39 MiB
提交时间 2017-10-17 18:39:40
显示代码纯文本
#include<stdio.h>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std;
int n,m,a,b,c,dis[100][100],diss[100][100],ans1,ans2,pos1=0x7fffffff;
int main(){
	freopen("djsb.in","r",stdin);
	freopen("djsb.out","w",stdout);
	scanf("%d%d",&n,&m);
	memset(dis,0x3f,sizeof(dis));
	for(int i=1;i<=m;i++){
	    scanf("%d%d%d",&a,&b,&c); 
		dis[a][b]=dis[b][a]=c;
	}for(int i=0;i<n;i++) dis[i][i]=0;
	for(int i=0;i<n;i++)
	    for(int j=0;j<n;j++)
	        for(int k=0;k<n;k++)
	            if(dis[i][j]>dis[i][k]+dis[k][j])
	               dis[i][j]=dis[i][k]+dis[k][j];
	for(int i=0;i<n;i++)
	    for(int j=i+1;j<n;j++){
		    int pos=0;
	        for(int k=0;k<n;k++){
	        	int posj=dis[i][k];
				if(posj>dis[j][k]) posj=dis[j][k];
				if(posj>pos) pos=posj; 
			}
			if(pos<pos1){
				pos1=pos;
				ans1=i;
				ans2=j;
			}
	    }
	printf("%d %d",ans1,ans2);
}