Dijkstra算法---HDU 2544 水题(模板)

时间:2021-04-01 08:56:08

/*

对于只会弗洛伊德的我,迪杰斯特拉有点不是很理解,后来发现这主要用于单源最短路,稍稍明白了点,不过还是很菜,这里只是用了邻接矩阵

套模板,对于邻接表暂时还,,,没做题,后续再更新。现将这题贴上,应该是迪杰斯特拉最水的题没有之一。纯模板

找到距离起点最近的点,以此点为中间点进行更新,找到了在进行下一个点。

*/

题目大意:

搬东西很累,想省力,给你几个点和点之间的距离;标准题型;

#include<stdio.h>
#include <iostream>
#include<string.h>
using namespace std;
#define inf 0xfffffff
int map[][],dis[],visit[];
int n,m; int dijstra()
{
memset(visit,,sizeof(visit));
for (int i=;i<=n;i++)
{
dis[i]=map[][i];
}
visit[]=;
dis[]=;
for (int i=;i<=n;i++)
{
int pos;
int min=inf;
for (int j=;j<=n;j++)
{
if (!visit[j]&&min>dis[j])
{
pos=j;
min=dis[j];
}
}
visit[pos]=;
for (int j=;j<=n;j++)
{
if (!visit[j]&&dis[j]>dis[pos]+map[pos][j])
{
dis[j]=dis[pos]+map[pos][j];
}
}
}
return dis[n];
}
int main ()
{
int i,j;
while(~scanf("%d%d",&n,&m),n||m)
{
for(i=;i<=n;++i)
{
for(j=;j<=n;++j)
{
map[i][j]=inf;
}
}
int a,b,c;
for(i=;i<=m;++i)
{
scanf("%d%d%d",&a,&b,&c);
if(c<map[a][b])
map[a][b]=map[b][a]=c;
}
// for (int i=1;i<=n;i++)
// {
// for (int j=1;j<=n;j++)
// {
// cout<<map[i][j]<<" ";
// }cout<<endl;
// }
int count=dijstra();
printf("%d\n",count);
}
return ;
}

PS:后续更新邻接表的题型。。

Dijkstra算法---HDU 2544 水题(模板)的更多相关文章

  1. HDU-1042-N&excl;&lpar;Java大法好 &amp&semi;amp&semi;&amp&semi;amp&semi; HDU大数水题&rpar;

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Subm ...

  2. HDU 2544 最短路&lpar;模板题&rpar;

    求1到N的最短路径,模板题,以1为源点,用dijkstra算法(可以用优先级队列优化) #include <iostream> #include <algorithm> #in ...

  3. HDU 5391 水题。

    E - 5 Time Limit:1500MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  4. hdu 1544 水题

    水题 /* * Author : ben */ #include <cstdio> #include <cstdlib> #include <cstring> #i ...

  5. HDU排序水题

    1040水题; These days, I am thinking about a question, how can I get a problem as easy as A+B? It is fa ...

  6. hdu 2710 水题

    题意:判断一些数里有最大因子的数 水题,省赛即将临近,高效的代码风格需要养成,为了简化代码,以后可能会更多的使用宏定义,但是通常也只是快速拿下第一道水题,涨自信.大部分的代码还是普通的形式,实际上能简 ...

  7. hdu 5162&lpar;水题&rpar;

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5162 题解:看了半天以为测试用例写错了.这题玩文字游戏.它问的是当前第i名是原数组中的第几个. #i ...

  8. 51NOD欧姆诺姆和项链——KMP算法(非水题)

    >>点击进入原题测试<< 思路:好久不见,今天要开始真正写题了.这个题之前我的理解有点问题,导致写了很久最终都是一直都只能过样例.需要注意的是输出中每一个“1”都是和别的输出相 ...

  9. hdu 3357 水题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3357 #include <cstdio> #include <cmath> # ...

随机推荐

  1. java11

    1:对象数组(掌握) (1)数组既可以存储基本数据类型,也可以存储引用类型.它存储引用类型的时候的数组就叫对象数组. (2)案例: 用数组存储5个学生对象,并遍历数组. 2:集合(Collection ...

  2. style&equals;&quot&semi;visibility&colon; hidden&quot&semi; 和 style&equals;&OpenCurlyDoubleQuote;display&colon;none”区别

    大多数人很容易将CSS属性display和visibility混淆,它们看似没有什么不同,其实它们的差别却是很大的. visibility属性用来确定元素是显示还是隐藏的,这用visibility=& ...

  3. JS面向&lpar;基于&rpar;对象编程--构造方法&lpar;函数&rpar;

    构造函数(方法)介绍 什么是构造函数呢?在回答这个问题之前,我们来看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就直接 ...

  4. &period;NET连接SAP系统专题:SAP中新建可远程调用的RFC(二)

    何谓RFC,就是一个Function,可以被非SAP系统调用,比如VB,C#,Java等.如果我们在RFC中INCLUDE了相关的业务逻辑,那么我们就可以完全操控SAP中的业务数据了.就像在TTE里, ...

  5. Linux网络相关命令小结

    # ifconfig # ifup/ifdown # route -n # ip link show //显示本机所有接口信息 # traceroute # netstat //查看本机网络连接与后门 ...

  6. Linux学习笔记:安装python

    一般linux自带python2,如果需要python3以上版本,可以不需要卸载自带的python2,二者可以共存.只需要配置相应的环境变量即可. 具体回答可以参考这篇文章 https://stack ...

  7. Fragment和FragmentActivity的使用方法

    认识:首先我们知道Fragment是我们在单个Activity上要切换多个UI界面,显示不同内容.模块化这些UI面板以便提供给其他Acitivity使用便利.同时我们显示的Fragment也会受到当前 ...

  8. linux下从一台服务器复制文件或文件夹到本地

    1.从服务器复制文件到本地:scp root@×××.×××.×××.×××:/data/test.txt /home/myfile/ root@×××.×××.×××.×××   root是目标服务 ...

  9. 重复打印相同内容&lpar;Doc档&rpar;的时候自动生成打印编号

    昨天突然接到一个好久未联系的朋友电话,说是江湖救急,要打印一份单据,单据上有个号码要自动生成,如下图,最土的办法是打印完一张,手工改下号码,但这种方法估计碰到成百上千张时估计会疯掉 网上找了实现方法, ...

  10. Google Guava中的前置条件

    前置条件:让方法调用的前置条件判断更简单. Guava在Preconditions类中提供了若干前置条件判断的实用方法,我们建议[在Eclipse中静态导入这些方法]每个方法都有三个变种: check ...