记录编号 49384 评测结果 AAAAA
题目名称 最难的任务 最终得分 100
用户昵称 Gravatar日光。 是否通过 通过
代码语言 C++ 运行时间 1.656 s
提交时间 2012-11-07 19:08:49 内存使用 2.12 MiB
显示代码纯文本
#include<algorithm>
#include<cstdio>
#define N 205
#define INF 0xfffffff
using namespace std;
int n,m,T;
int f[N][N];
int main()
{
	freopen("hardest.in","r",stdin);
	freopen("hardest.out","w",stdout);
	scanf("%d",&T);
	int p,q,w;
	while(T--)
	{
		scanf("%d%d",&n,&m);
		for(int i=0;i<=n;i++)
		{
			for(int j=0;j<=n;j++)
			{
				f[i][j]=INF;
			}
			f[i][i]=0;
		}
		for(int i=0;i<m;i++)
		{
			scanf("%d%d%d",&p,&q,&w);
			f[p][q]=f[q][p]=min(f[p][q],w);
		}
		for(int k=1;k<=n;k++)
		{
			for(int i=1;i<=n;i++) if(i!=k)
			{
				for(int j=1;j<=n;j++) if(i!=j&&j!=k)
				{
					f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
				}
			}
		}
		if(f[1][n]!=INF) printf("%d\n",f[1][n]);
		else printf("-1\n");
	}
	return 0;
}