记录编号 | 209770 | 评测结果 | AAAAA | ||
---|---|---|---|---|---|
题目名称 | 最难的任务 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.276 s | ||
提交时间 | 2015-11-23 19:26:23 | 内存使用 | 0.47 MiB | ||
#include<fstream> using namespace std; int a[201][201]={0},t,i,j,k,l,m,n,x,y,z; int min(int a,int b){ if(a<b){ return a;} else{ return b;}} void floyd(){ for(k=1;k<=n;k++){ for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ a[i][j]=min(a[i][j],a[i][k]+a[k][j]); }}}} int main(){ ifstream fin("hardest.in"); ofstream fout("hardest.out"); fin>>t; for(l=0;l<t;l++){ fin>>n>>m; for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ if(i!=j){ a[i][j]=1000000000;}}} for(i=0;i<m;i++){ fin>>x>>y>>z; a[x][y]=min(z,a[x][y]); a[y][x]=min(z,a[y][x]); } floyd(); if(a[1][n]==1000000000){ fout<<-1<<endl;} else{ fout<<a[1][n]<<endl;} } fin.close(); fout.close(); return 0; }