记录编号 49222 评测结果 AAAAA
题目名称 最难的任务 最终得分 100
用户昵称 Gravatarsong 是否通过 通过
代码语言 C++ 运行时间 0.993 s
提交时间 2012-11-07 15:16:45 内存使用 3.30 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int t,n,m,way[201][201]={0};
int main()
{
	freopen("hardest.in","r",stdin);
	freopen("hardest.out","w",stdout);
	cin>>t;
	for(int i=0;i<t;i++)
	{
		cin>>n>>m;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				way[i][j]=200000000;
			}
			way[i][i]=0;
		}
		for(int i=0;i<m;i++)
		{
			int x,y,k;
			cin>>x>>y>>k;
			if(k<way[x-1][y-1])
			{
			    way[x-1][y-1]=k;
			}
			if(k<way[y-1][x-1])
			{
			    way[y-1][x-1]=k;
			}
		}
		for(int k=0;k<n;k++)
		{
			for(int i=0;i<n;i++)
			{
				for(int j=0;j<n;j++)
				{
					if(way[i][j]>way[i][k]+way[k][j])
					{
						way[i][j]=way[i][k]+way[k][j];
					}
				}
			}
		}
		if(way[0][n-1]==200000000)
		{
			cout<<-1<<endl;
		}
		else
		{
		    cout<<way[0][n-1]<<endl;
		}
	}
}