最短路默写
时间限制 : 10000 MS   空间限制 : 65536 KB

问题描述

有一无负权有向图。求指定两点间的最短路径。

输入格式

输入:第一行,两个数字n和m,表示n个顶点,m条边
接下来的m行,每行三个整数,分别表示边的起点、终点和边的长度
最后一行 两个整数 x y 表示求从点x到点y的最短路径

输出格式

输出:一行,一个整数,最短路径长度

样例输入 1

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

样例输出 1

3

样例输入 2

4 5
1 2 10
1 3 1
3 2 6
3 4 2
4 2 3
1 2

样例输出 2

6

提示

注:所有数据都不超过100

#include<bits/stdc++.h>
using namespace std;
queue<int>q;
int dis[105],cnt[105],n,m,Map[105][105],ax,ay;
bool f[105],ha;
void sp(int start){int i,x;ha=false;for(i=1;i<=n;i++){  dis[i]=100000000;cnt[i]=0;}q.push(start);f[start]=true;dis[start]=0;cnt[start]=1;while(!q.empty()){x=q.front();q.pop();f[x]=false;for(i=1;i<=n;i++){if(dis[x]+Map[x][i]<dis[i]){dis[i]=dis[x]+Map[x][i];if(f[i]==false){q.push(i);f[i]=true;cnt[i]++;if(cnt[i]==n){  ha=true;return;}}}}}
}
void init(){int x,y,w;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)   Map[i][j]=100000000;Map[i][i]=0;}for(int i=1;i<=m;i++){    scanf("%d%d%d",&x,&y,&w);Map[x][y]=w;}scanf("%d%d",&ax,&ay);
}
void solve(){   sp(ax);printf("%d",dis[ay]);}
int main(){init();solve();return 0;
}
最短路默写2
时间限制 : 10000 MS   空间限制 : 524288 KB

问题描述

有一无负权有向图。求指定两点间的最短路径。

输入格式

第一行,两个数字n和m,表示n个顶点,m条边
接下来的m行,每行三个整数,分别表示边的起点、终点和边的长度
最后一行 两个整数 x y 表示求从点x到点y的最短路径

输出格式

一行,一个整数,最短路径长度

样例输入

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

样例输出

3

提示

n<=400000
m<=2000000
节点编号从1到n
每条边的长度都是0到10^9的整数

5组小数据,3组大数据

#include<bits/stdc++.h>
using namespace std;
const long long INF=99999999999999999ll;
const int MAX_N=400005;
const int MAX_M=4000005;
int N,M,A,B;
struct Edge{int x,y,z,next;
}e[MAX_M];
int elast[MAX_N];
struct PQNode{int u;long long dis;PQNode(int u_,long long dis_){u=u_;dis=dis_;}
};
bool operator<(PQNode a,PQNode b){return a.dis>b.dis;
}
long long dis[MAX_N];
bool mark[MAX_N];
int main(){scanf("%d%d",&N,&M);for(int i=1,j=1;i<=M;i++){int x,y,z;scanf("%d%d%d",&x,&y,&z);e[j].x=x;e[j].y=y;e[j].z=z;e[j].next=elast[x];elast[x]=j++;e[j].x=x;e[j].y=y;e[j].z=z;e[j].next=elast[y];elast[y]=j++;}scanf("%d%d",&A,&B);for(int i=1;i<=N;i++){dis[i]=INF;mark[i]=false;}dis[A]=0;priority_queue<PQNode> pq;pq.push(PQNode(A,0));while(!pq.empty()){int u=pq.top().u;pq.pop();if(mark[u])    continue;if(u==B) break;mark[u]=true;for(int j=elast[u];j;j=e[j].next){int v=e[j].y;if(dis[v]>dis[u]+e[j].z){dis[v]=dis[u]+e[j].z;pq.push(PQNode(v,dis[v]));}}}printf("%lld",dis[B]);return 0;
}

最短路默写1最短路默写2相关推荐

  1. 解释一下java的短路运算,Java短路运算符和非短路运算符详解

    Java短路运算符和非短路运算符详解 时间:2017-09-15     来源:互联网 你了解Java短路运算符和非短路运算符吗?短路运算符就是我们常用的"&&". ...

  2. Java中的短路与运算和短路或运算

    Java中的短路与运算 1.短路与运算的符号:&& 2.短路与运算的特点:当运算符左边的关系运算结果是false时,不再对右边的关系运算进行计算. 如:4<3&& ...

  3. 【专业知识问答】问:什么叫突然短路?为什么突然短路时会产生很大短路电流?

    [专业知识问答] 问:什么叫突然短路?为什么突然短路时会产生很大短路电流? 答:正常时发电机的电流是经负载而构成闭合回路的.因某些突发原因,如金属物搭接.绝缘损坏.带地线误合闸等,使相与相或相与地之间 ...

  4. 短路逻辑运算符和非短路逻辑运算符

    没想到毕业工作后还会有随堂测试[旺财],有题如下: 根据下面的代码: String s = null; 会抛出NullPointerException异常的有(). if( (s!=null) &am ...

  5. 牛客练习赛61 D 最短路变短了(最短路,反向最短路)难度⭐⭐⭐★

    最短路变短了 链接 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format:%lld 题目描述 给定一个有向带权图,其中 ...

  6. java与与短路与_Java中短路运算符与逻辑运算符示例详解

    1.逻辑运算符(部分) 符号 名称 && 短路与运算符 || 短路或运算符 & 与运算符 | 或运算符 对于理工科学习者来说,逻辑运算是较为基础的概念,通常会在大一的离散数学课 ...

  7. 语言古诗默写_小学生背诵默写古诗文是否合理且必要?专家热议教育“减负”...

    南都讯近日,"有问云上论坛"请来多位教育专家围绕教育"减负"话题展开热烈讨论.学习不可能没有压力,合理的学业负担是必需的,什么是不合理.不必要的课业负担?有专家 ...

  8. java 的 非短路_Java 短路运算符和非短路运算符

    短路运算符就是我们常用的"&&"."||",一般称为"条件操作". class Logic{ public ststic v ...

  9. 第K短路+严格第K短路

    所谓K短路,就是从s到t的第K短的路,第1短就是最短路. 如何求第K短呢?有一种简单的方法是广度优先搜索,记录t出队列的次数,当t第k次出队列时,就是第k短路了.但点数过大时,入队列的节点过多,时间和 ...

  10. 交换机短路_交换机端口短路 导致上网不正常

    3.查看广播风暴 既然故障工作子网中没有ARP病毒,同时楼层交换机与核心交换机之间的物理连接也是正常的,那么局域网中可能存在广播风暴现象,该现象造成了网络传输通道发生了堵塞,这样一来故障工作子网中的客 ...

最新文章

  1. 调用torchtext报错OSError: libtorch_cpu.so: cannot open shared object file: No such file or directory
  2. 2015总结 2016展望
  3. mysql拉荐_荐 一步一步教你MySQL主从复制读写分离
  4. [云炬创业学笔记]第三章商业创意的发掘与评估测试3
  5. new String(123) 创建了几个对象?
  6. java dom创建xml文件_Java 如何使用dom方式读取和创建xml文件
  7. Hbase Compaction 源码分析 - CompactionChecker
  8. easyui-validatebox验证 radio
  9. xilinx sdk对文本内容进行查找(find/replace)的快捷键ctrl+f
  10. SQL 2012 Management Studio提示无效许可问题解决!!
  11. 百度翻译API教程(完整Android代码)
  12. 上海宝付谈移动支付的四大特征
  13. 木讷的程序员需要知道的事情 (六)
  14. 程序员多数性功能不行_1024,节日快乐!南京程序员绝不认输!
  15. P5200 Sleepy Cow Sorting(树状数组,模拟)
  16. html分列代码,实现分列的两段excel vba 分列代码
  17. 电脑重装系统数据恢复方法教程
  18. resultMap使用不当导致出现There is no WRITEABLE property named 'student_id' in class 'com.ssi.model.Stud
  19. LeetCode单词规律解法
  20. Matplotlib_Study01

热门文章

  1. html怎么解压缩文件,压缩包7z如何解压
  2. 2017年域名从Godaddy转移到Namesilo过程全记录
  3. ECMAScript 简介
  4. Page migration
  5. 超级计算机计算峰值,世界运算最快计算机,中国神威·太湖之光(其峰值计算速度达每秒1...
  6. python数据可视化代码示例
  7. 交大天坑专业转码记录
  8. 分享Windows Server2003 防木马权限设置IIS服务器安全配置整理 002
  9. 10 大最佳网络分析工具介绍
  10. 用python绘制用例图源代码_用Visio画UML用例图