在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?

Input

输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在地,M则表示在成都有几条路。N=M=0表示输入结束。接下来M行,每行包括3个整数A,B,C(1<=A,B<=N,1<=C<=1000),表示在路口A与路口B之间有一条路,我们的工作人员需要C分钟的时间走过这条路。

输入保证至少存在1条商店到赛场的路线。

Output

对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间

Sample Input

2 1 1 2 3 3 3 1 2 5 2 3 5 3 1 2 0 0

Sample Output

3 2

非常简单的最短路问题直接套模板

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int ps[1100][1100],dp[1100][1100];
int main(){
int N,M,A,B,C,i,j,k;
while(cin>>N>>M&&N!=0)
{
//memset(dp,0,sizeof(dp));
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
ps[i][j]=0x3f3f3f3f;
for(i=1;i<=M;i++)
{
cin>>A>>B>>C;
ps[A][B]=ps[B][A]=C;
}dp[1][N]=0x7fffffff;
for(k=1;k<=N;k++)
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
if (ps[i][j]>ps[i][k]+ps[k][j])
ps[i][j]=ps[i][k]+ps[k][j];
cout<<ps[1][N]<<endl;
}
return 0;
}

最新文章

  1. Python基本数据类型之整型和布尔型
  2. 点击datagrid弹出ldhdialog,点击弹出框的按钮,关闭且刷新datagrid
  3. Linux 本人常用到的基本命令
  4. 机器翻译 2010年NOIP全国联赛提高组
  5. IOS公司开发者账号申请详细教程
  6. 多校6 1003 HDU5795 A Simple Nim (sg函数)
  7. UrlOfFIle
  8. 处理safari缓存的办法
  9. [poj 1127]Jack Straws[线段相交][并查集]
  10. finger用户名、主目录、停滞时间、登录时间
  11. 归并排序(Java)
  12. records.config文件参数解释
  13. jmeter在linux服务器的安装和运行
  14. 专访笨叔叔:2019年可能是Linux年?(转)
  15. Git删除本地修改
  16. 子shell以及什么时候进入子shell
  17. 抽屉效果几大github第三方库
  18. 如何在win 2008 server和win 7上add web site
  19. iOS开发之 - 键盘处理神器 IQKeyboardManager
  20. uva 816 abbott&amp;#39;s revenge ——yhx

热门文章

  1. 安卓开发学习日记 DAY3——TextView,EditView,ImageView
  2. Python 1基础语法四(数字类型、输入输出汇总和命令行参数)
  3. Struts2-学习笔记系列(12)-set集合
  4. CopyOnWriteArrayList线程安全的集合
  5. linux常用命令整理(一)
  6. JVM 调优之 Eclipse 启动调优实战
  7. stand up meeting 12/7/2015
  8. Oracle数据库提权
  9. CISCN love_math和roarctf的easy_clac学习分析
  10. [YII2] 修改默认控制器Controller以及默认方法Action