传送门:http://poj.org/problem?id=2387

题目大意:

给定无向图,要求输出从点n到点1的最短路径。

注意有重边,要取最小的。

水题。。对于无向图,从1到n和n到1是一样的。

直接Dijkstra即可

#include<cstdio>
#include<cstring>
const int MAXN=1000+10;
const int INF=999999;
int map[MAXN][MAXN];
int dis[MAXN];
int main()
{
int n,t;
while(~scanf("%d%d",&t,&n))
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
map[i][j]=INF; dis[i]=INF;
} int from,to,len;
for(int i=0;i<t;i++)
{
scanf("%d%d%d",&from,&to,&len);
if(len < map[from][to])
map[from][to]=map[to][from]=len;
}
//Dijkstra
bool vis[MAXN]={0}; int cur=n; //这里如果为1,那么输出改为dis[n]
vis[cur]=true;
dis[cur]=0;
for(int i=0;i<n;i++)
{
for(int j=1;j<=n;j++)
{
if( map[cur][j]!=INF && dis[cur]+ map[cur][j] < dis[j])
dis[j]=dis[cur]+ map[cur][j];
} int min=INF;
for(int j=1;j<=n;j++)//find the next minimum
{
if( !vis[j] && dis[j] < min)
min=dis[cur = j];
}
vis[cur]=true;
} printf("%d\n",dis[1]);
}
}

最新文章

  1. 关于discuz“终于解决“头像保存过程中发生网络错误,请重试&quot;”的解决方法
  2. IT小喇叭-企业品牌宣传、产品营销推广的首选
  3. listview+seekbar问题的解决
  4. thinkphp 3.2视图里添加URL参数 实例
  5. .NET文件上传的大小限制配置
  6. linux_过程问题记录
  7. 仪表盘 hostmap 新玩法让运维工作越玩越 high
  8. hadoop异常:java.lang.RuntimeException: java.lang.NoSuchMethodException
  9. 谷歌浏览器chrome假死、卡死、经常无反应,火狐firefox闪黑格子的解决办法(显卡/驱动兼容问题)
  10. Iterable 超级接口
  11. kettle连接Hbase中数据导出(7)
  12. Android之RecyclerView入门
  13. 九、Python发送QQ邮件(SMTP)
  14. vue项目中vux的使用
  15. cellmap 基站查询 for android
  16. (转)Spring Boot (十九):使用 Spring Boot Actuator 监控应用
  17. Elasticsearch集群
  18. R语言-地图
  19. CentOS7 firewalld防火墙配置
  20. 微软BI 之SSIS 系列 - 在 SSIS 中使用 Web Service 以及 XML 解析

热门文章

  1. 如何优雅的写UI——(5)选项卡功能实现
  2. [TypeScript] Shallow copy object by using spread opreator
  3. ZOJ 3587 Marlon&amp;#39;s String 扩展KMP
  4. 各种join一目了然: join 、inner join、left join 、right join、full join
  5. Qt程序调试之Q_ASSERT断言(它是一个宏,接受布尔值,当其中的布尔值为真时,便什么也不做)
  6. thinkphp5 left join
  7. 3.第一个Node.js程序:Hello World!
  8. vue.js提交按钮时简单的if判断表达式示例
  9. 动态链接库DLL的创建生成及调用
  10. 6. MongoDB