题目

一个图,输出从k点到每个点的最短路

输入

第一行有两个整数n和k,中间用空格隔开;以下是一个NxN的矩阵,表示点间的距离。
3 1
0 3 1
3 0 2
1 2 0

输出

输出点k到各点的距离
3 0 2


解题思路

用Dijkstra算法,注意点号是0到n-1。


代码

#include<cstdio>
#include<iostream>
using namespace std;
int n,t,s,a[101][101],lowa[101],k;
bool mark[101];
int main()
{scanf("%d%d",&n,&k);k++;//修正号for (int i=1;i<=n;i++)for (int j=1;j<=n;j++) {scanf("%d",&a[i][j]);if (a[i][j]==0 || a[i][j]==-1) a[i][j]=233333333;//输入}for (int i=1;i<=n;i++) {lowa[i]=a[k][i];mark[i]=false;//每个点到点k的直接路}int u=1,mins=233333333;mark[k]=true;//标记while (u!=0){mins=233333333;u=0;for (int i=1;i<=n;i++)if (!mark[i] && lowa[i]<mins){   u=i;mins=lowa[i];//求到集合1的最短路径}mark[u]=true;//封路if (u!=0)//如果找到了点for (int i=1;i<=n;i++)if (!mark[i] && lowa[u]+a[u][i]<lowa[i]){lowa[i]=lowa[u]+a[u][i];//修正每个点的最短路}}   for (int i=1;i<=n;i++) if (i==k) printf("0 ");else if (lowa[i]<233333333) printf("%d ",lowa[i]);else printf("-1 ");//输出
}

ssl1761-城市问题【图论,最短路,Dijkstra】相关推荐

  1. 图论-最短路Dijkstra算法详解超详 有图解

    整体来看dij就是从起点开始扩散致整个图的过程,为什么说他稳定呢,是因为他每次迭代,都能得到至少一个结点的最短路.(不像SPFA,玄学复杂度) 但是他的缺点就是不能处理带负权值的边,和代码量稍稍复杂. ...

  2. 图论 —— 最短路 —— Dijkstra 算法

    [概述] Dijkstra 算法是单源最短路径算法,即计算起点只有一个的情况到其他点的最短路径,其无法处理存在负边权的情况. 其时间复杂度是:O(E+VlogV) [算法分析] 将点分为两类,一类是已 ...

  3. 图论--最短路-- Dijkstra模板(目前见到的最好用的)

    之前的我那个板子,老是卡内存,不知道为什么,我看别人过的那个题都是结构体,我就开始对自己板子做了修改,然后他奶奶的就过了,而且速度也提高了,内存也小了.(自从用了这个板子,隔壁小孩馋哭了)也不知道为啥 ...

  4. bzoj4144 [AMPPZ2014]Petrol 图论 最短路 并查集

    bzoj4144 [AMPPZ2014]Petrol 图论 最短路 并查集 1.这道题我们主要就是要求出距离一个油站的最近的油站 首先我们dijkstra 求出任意一个点到 离他最近的油站的距离 2. ...

  5. 图论最短路:Bellman-Ford与其优化SPFA算法的一点理解

    文章目录 前言 一.对Bellman-Ford的深入理解 1. Bellman-Ford有什么用? 2. 什么是松弛操作? 3. Bellman-Ford的k次迭代意义? 4. 一个重要定理 5. 对 ...

  6. 【挑战程序设计】- 2.5 图论(最短路、最小生成树)

    2.5 图论(最短路.最小生成树) 文章目录 2.5 图论(最短路.最小生成树) 2.5.1 定义们 2.5.2 图的表示 2.5.3 图的搜索 2.5.4 最短路问题 单源1:bellman-for ...

  7. 【图论-最短路变形】想越狱的小杉

    [图论-最短路变形]想越狱的小杉 Time Limit:1000MS  Memory Limit:65536K Description 背景 Background 这次小杉来到了经典美剧<越狱& ...

  8. 单源最短路 Dijkstra算法 和 SPFA算法

    单源最短路 •从一个点出发,到达其他顶点的最短路径的长度. •基本操作:松弛 •d[u]+map[u, v]< d[v]这样的边(u,v)称为紧的(tense),可以对它进行松弛(relax): ...

  9. 最短路 dijkstra模板

    最短路 dijkstra模板 #pragma warning(disable:4996) #include<iostream> #include<string> #includ ...

  10. HDOJ 2112 HDU Today (最短路 Dijkstra SPFA)

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

最新文章

  1. 李沐团队新作Gluon,复现CV经典模型到BERT,简单好用 | 强烈推荐
  2. bootstrap课程1 bootstrap为什么这么火
  3. yum 安装指定版本php,怎样通过yum安装指定版本的php
  4. 速度前瞻运动控制c语言程序_整合实时运动控制及多颗相机连接,大幅提升光学影像检测速度...
  5. BP神经网络与卷积神经网络(CNN)
  6. 293/294 Flip Game I and II -- back tracking ing
  7. Java的if判断对象为null时,null放在比较运算符的左边还是右边较好?
  8. spring boot注释_使用Spring Boot和注释支持配置Spring JMS应用程序
  9. vc6开发一个抓包软件_惊奇软件[21]:这是一个程序员开发的背单词网站,可好用了!...
  10. .jardesc文件
  11. attention机制中的注意力图怎么画_注意力机制 | 图卷积多跳注意力机制 | Direct multihop Attention based GNN...
  12. 通过案例学调优之--和 LOG BUFFER 相关的主要 Latch
  13. 配置centos防火墙(iptables)开放80端口
  14. 图像局部特征(十四)--MSER特征
  15. Hyperledger Fabric 或 Composer 查看区块详情
  16. 风灵月影捆绑软件解决办法(修改器)
  17. android流量显示插件,安卓状态栏显示网速(安卓网速显示插件)
  18. 99%的人都不知道的减肥小秘密,你必须知道
  19. 学计算机基础word题,计算机操作基础Word练习题
  20. win10无线显示未连接到服务器,Win10系统无线网络适配器显示未连接的解决方法...

热门文章

  1. 在栈中压入一个字符串c语言,面试题 31:栈的压入、弹出序列
  2. winform 统计大量数据重复的元素个数_面试系列:十个海量数据处理方法大总结...
  3. e盾服务端源码_gRPC服务注册发现及负载均衡的实现方案与源码解析
  4. mysql报4934_mysql-Mariadb语法错误1064(42000)
  5. Java多线程之龟兔赛跑和抢票
  6. java堆和栈 常量池_GitHub - han-guang-xue/difference-of-stack-heap-pool: Java中堆、栈和常量池的区别...
  7. [mybatis]缓存_缓存有关的设置以及属性
  8. LeetCode 559N叉树的最大深度-简单
  9. Java开发Web Service的几种解决方案
  10. Mac(OS X)使用brew安装软件