比赛 ctime蒟蒻生日赛 评测结果 AAAAAAAA
题目名称 双服务点设置 最终得分 100
用户昵称 Samle 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2017-10-17 19:56:10
显示代码纯文本
#include<map>
#include<queue>
#include<cmath> 
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define R register
#define ll long long
#define inf 707406378

inline void in(int &x) {
    static ll ch; static bool flag;
    for(flag = false,ch = getchar();ch < '0'||ch > '9';ch = getchar()) flag |= ch == '-';
    for(x = 0;isdigit(ch);ch = getchar()) x = (x<<1) + (x<<3) + ch - '0';
    x = flag ? -x : x;
}

inline void write(int x){
    if(x<0) putchar('-'),x=-x;
    if(x>9) write(x/10);
    putchar(x%10+'0');
}

int maxn=inf,pos1,pos2;

int dis[105][105];

int n,m;

inline int dy(){
	
	freopen("djsb.in","r",stdin);
	freopen("djsb.out","w",stdout);

	in(n),in(m);
	memset(dis,inf,sizeof(dis));
	for(int i=1;i<=m;++i){
		R int a,b,c;in(a),in(b),in(c);
		dis[b][a]=dis[a][b]=min(dis[a][b],c);
	}
	for(int i=0;i<n;++i)dis[i][i]=0;
	for(int k=0;k<n;++k)
		for(int i=0;i<n;++i)
			if(dis[i][k]!=inf)
				for(int j=0;j<n;++j)
					if(dis[j][k]!=inf && dis[i][k]+dis[k][j]<dis[i][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){
			R int maxx=0;
			for(int k=0;k<n;++k){
				R int s=min(dis[i][k],dis[j][k]);
				if(s>maxx)maxx=s;
			}
			if(maxx<maxn)maxn=maxx,pos1=i,pos2=j;
		}
	write(pos1),putchar(' '),write(pos2);
	exit(0);
}

int QAQ = dy();

int main(){;}