比赛 ctime蒟蒻生日赛 评测结果 AAAAAAAA
题目名称 服务点设置 最终得分 100
用户昵称 胡嘉兴 运行时间 0.078 s
代码语言 C++ 内存使用 0.22 MiB
提交时间 2017-10-17 15:06:13
显示代码纯文本
#include <stdio.h>

#define N 120
#define INF 99999999

int main()
{
	int n, m, i, j, k, e[N][N], min = INF, ans;
	freopen("djsa.in", "r", stdin);
	freopen("djsa.out", "w", stdout);

	scanf("%d%d", &n, &m);

	for(i = 0; i < N; i++)
	{
		for(k = 0; k < N; k++)
		{
			if(i == k)
			{
				e[i][k] = 0;
				continue;
			}
			e[i][k] = INF;
		}
	}
	for(i = 0; i < m; i++)
	{
		int x, y, z;

		scanf("%d%d%d", &x, &y, &z);

		e[x][y] = z;
		e[y][x] = z;
	}
	for(k = 0; k < n; k++)
	{
		for(i = 0; i < n; i++)
		{
			for(j = 0; j < n; j++)
			{
				if(e[i][k] + e[k][j] < e[i][j])
				{
					e[i][j] = e[i][k] + e[k][j];
				}
			}
		}
	}
	for(i = 0; i < n; i++)
	{
		int maxs = 0;
		for(k = 0; k < n; k++)
		{
			if(e[k][i] > maxs)
			{
				maxs = e[k][i];
			}
		}
		if(maxs < min)
		{
			min = maxs;
			ans = i;
		}
	}

	printf("%d\n", ans);

	fclose(stdin);
	fclose(stdout);
	return 0;
}