2017-09-17 17:37:03

writer:pprp

dijkstra模板题目,注意去重

代码如下:

/*
@theme:poj 2387
@declare:最短路,从N到1点
@writer:pprp
@date:2017/9/17
*/
#include <iostream>
#include <cstring>
#include <cstdio>
#include <stack> using namespace std;
int N, T, Min;
const int maxn = ;
const int INF = 0x3f3f3f3f;
int mp[maxn][maxn];
bool vis[maxn];
int dis[maxn]; void Dijkstra(int st)
{
for(int i = ; i <= N; i++)
{
dis[i] = mp[st][i];
} vis[st] = ;
dis[st] = ; int rec = -;
for(int i = ; i <= N ; i++)//起到了循环的作用
{
Min = INF;
rec = -;
for(int j = ; j <= N; j++)
{
if(!vis[j] && Min > dis[j])
{
rec = j;
Min = dis[j];
}
}
if(rec == -)return ; vis[rec] = ; for(int j = ; j <= N; j++)
{
if(!vis[j] && mp[rec][j] != INF && dis[rec] + mp[rec][j] < dis[j])
dis[j] = mp[rec][j] + dis[rec];
}
}
} int main()
{
freopen("in.txt","r",stdin);
int x, y, v;
cin >> T >> N; for(int i = ; i < maxn; i++)
for(int j = ; j < maxn; j++)
mp[i][j] = INF;
memset(vis,,sizeof(vis)); for(int i = ; i < T ; i++)
{
cin >> x >> y >> v;
if(v < mp[x][y])//去重
mp[x][y] = mp[y][x] = v;
} Dijkstra();
cout << dis[N] << endl; return ;
}

最新文章

  1. Rust初步(七):格式化
  2. 人民币符号在html的显示方法
  3. 160个crackme-之Afkayas.1
  4. struts2 CVE-2012-0838 S2-007 Remote Code Execution &amp;&amp; Hotfix
  5. IE6下div层被select控件遮住的问题解决方法
  6. Android签名机制:生成keystore、签名、查看签名信息
  7. ACM-ICPC竞赛模板
  8. 8天学通MongoDB——第二天 细说增删查改
  9. 怎样成为PHP 方向的一个合格的架构师
  10. POJ 1753 Flip Game (DFS + 枚举)
  11. YII框架实现排序
  12. 你所不知道的mybatis居然也有拦截器
  13. Go - method
  14. 模拟EF CodeFist 实现自己的ORM
  15. 51 Nod 1057 N的阶乘【Java大数乱搞】
  16. python3.4 + Django1.7.7 表单的一些问题
  17. Django---form表单提交数据到数据库(普通方法+Django的form类)
  18. CentOS6.7上安装Mysql5.7
  19. android datepicker monthOfYear getMonth(): 获取当前月(注意:返回数值为0..11,需要自己+1来显示).....
  20. Ubuntu 搭建svn服务器 ,以及常见错误解决方案

热门文章

  1. apache2.2版本 configuration error: couldn&#39;t perform authentication. AuthType not set!: /
  2. error: https://packages.elastic.co/GPG-KEY-elasticsearch: import read failed(2).
  3. Django小练习
  4. PHPCMS 小节
  5. hibernate的事务和spring事务的区别 (转)
  6. koa2+mongoose搭建框架模型
  7. python中的引用传递,可变对象,不可变对象,list注意点
  8. java对象在JVM堆中的数据结构
  9. 谈面向对象的编程(Python)
  10. iOS开发之XMPPFramework开发基础介绍