ssl1500-最短路上的统计【Floyd】

正题

个无向图上,没有自环,所有边的权值均为1,对于一个点对(a,b),我们要把所有a与b之间所有最短路上的点的总个数输出。


输入输出(需要自取)

Input

第一行n,m,表示n个点,m条边
接下来m行,每行两个数a,b,表示a,b之间有条边
在下来一个数p,表示问题的个数
接下来p行,每行两个数a,b,表示询问a,b

Output

对于每个询问,输出一个数c,表示a,b之间最短路上点的总个数

Sample Input

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

Sample Output

4
3
2


解题思路

一遍Floyd然后枚举间接点,如果最短路径相等就记录这一个点,然后输出时加2(算上起点和终点)


代码

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int x,y,a[101][101],s[101][101],p,n,m;
int main()
{scanf("%d%d",&n,&m);memset(a,127/3,sizeof(a));for (int i=1;i<=m;i++){scanf("%d%d",&x,&y);a[x][y]=1;a[y][x]=1;//记录}for (int k=1;k<=n;k++)for (int i=1;i<=n;i++)for (int j=1;j<=n;j++){if (i!=j && j!=k && a[i][k]+a[k][j]<a[i][j]){a[i][j]=a[i][k]+a[k][j];}}//第一遍Floydfor (int k=1;k<=n;k++)for (int i=1;i<=n;i++)for (int j=1;j<=n;j++){if (i!=j && j!=k && a[i][k]+a[k][j]==a[i][j]){s[i][j]++;//统计中间点}}scanf("%d",&p);for (int i=1;i<=p;i++){scanf("%d%d",&x,&y);printf("%d\n",s[x][y]+2);//输出}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中的subList方法

Java中的subList方法 今天看到了java中List中有个subList的方法&#xff0c;感觉很熟悉有没有&#xff1f;没错&#xff0c;在Stirng类中&#xff0c;也有个类似的方法&#xff1a;subString。 Stirng中的subString方法&#xff0c;官方解释是&#xff1a;返回字符串的子字符串…

考研408大纲22年考研

I 考试性质   计算机学科专业基础综合考试是为高等院校和科研院所招收计算机科学与 技术学科的硕士研究生而设置的具有选拔性质的联考科目&#xff0c;其目的是科学、公平、 有效地测试考生掌握计算机科学与技术学科大学本科阶段专业知识、基本理论、 基本方法的水平和分析问…

在Apworks数据服务中使用基于Entity Framework Core的仓储(Repository)实现

《在ASP.NET Core中使用Apworks快速开发数据服务》一文中&#xff0c;我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API&#xff0c;通过该文的介绍&#xff0c;你会看到&#xff0c;使用Apworks框架开发数据服务是何等简单快捷&#xff0…

再有人问你Java内存模型是什么,就把这篇文章发给他

转载自 再有人问你Java内存模型是什么&#xff0c;就把这篇文章发给他 前几天&#xff0c;发了一篇文章&#xff0c;介绍了一下JVM内存结构、Java内存模型以及Java对象模型之间的区别。有很多小伙伴反馈希望可以深入的讲解下每个知识点。Java内存模型&#xff0c;是这三个知识…

SpringMVC对Ajax请求的处理

SpringMVC对Ajax请求的处理 [1] 问题: 当浏览器发起一个ajax请求给服务器&#xff0c;服务器调用对应的单元方法处理ajax请求。 而ajax的请求在被处理完成后&#xff0c;其处理结果需要直接响应。而目前我们在单元方 法中响应ajax请求&#xff0c;使用的是response对象&#x…

ssl2344P2835-刻录光盘【Floyd,联通块数,图论】

正题 洛谷题目 就是给出一个图&#xff0c;求最小联通块数。 输入输出&#xff08;需要自取&#xff09; Input 先是一个数N&#xff0c;接下来N行&#xff0c;分别表示各个营员愿意把自己获得的资料拷贝给其他哪些营员。即输入数据的第N1行表示第i个营员愿意把资料拷贝给那…

为了金秋那沉甸甸的麦穗,我绝不辜负春天

本文原创&#xff1a;焦文宇我可以一落千丈&#xff0c;但我就是要一鸣惊人。——题记01 没有谁的一生是一帆风顺的&#xff0c;也没有谁的一生是充满坎坷的。人生就像是一场游戏“玩”的好坏全都在于自己&#xff0c;我们没有任何理由去抱怨生活中的点滴&#xff0c;我们应当对…

BigDecimal丢失精度的坑

问题&#xff1a;new BigDecimal(double d)的数值居然还是不精确的 double d 0.09; BigDecimal bigDecimalnew BigDecimal(d); System.out.println(bigDecimal); System.out.println(d); 输出结果&#xff1a; 0.0899999999999999966693309261245303787291049957275390625 …

编译型语言VS解释型语言

编译型语言人类代码 ————》一次性把代码给 翻译官&#xff08;编译器&#xff09;————》汇编--》机器语言代表 &#xff1a; c,c,golang优点&#xff1a;执行速度快缺点&#xff1a;跨平台可移植性差硬件 &#xff0c; cpu , 有自己指令规则 0000000001 打印&#xf…

P1236-Network of Schools(学校网络)【最强联通块,Kosaraju】

正题 POJ题目链接 给出一个图&#xff0c;求联通块数量和加入多少条边后会将全图变为一个最强联通块。 机翻输入输出&#xff08;需要自取&#xff09; 输入 第一行包含整数N&#xff1a;网络中的学校数量&#xff08;2 < N < 100&#xff09;。学校由前N个正整数标识…

限时团购,6.9折:《微信开发深度解析:公众号、小程序高效开发秘籍》推荐序

全书由目 Senparc.Weixin SDK 作者苏震巍历时 2 年完成&#xff0c;涵盖了开发微信公众号及小程序需要用的的各项后端开发技能、技巧、避坑提示&#xff0c;以及 Senparc.Weixin SDK 微信公众号及小程序模块全面的使用说明及原理剖析。 Senparc.Weixin SDK 发布 4 年多来&#…

SSM框架知识点复习

第三节 SSM框架知识点复习 SpringMVC的知识 技能:使用SpringMVC来处理浏览器发起的请求。 ① SpringMVC的基本使用流程 i. 导入jar包 ii. 配置SpringMVC的配置文件 iii. 配置web.xml文件 iv. 创建控制器类并声明单元方法 ② SpringMVC的单元方法获取请求 i. 使用形参名和键名一…

某同学工作之后的感悟

本文原创&#xff1a;王梦茹以下是王梦茹同学在学习中和工作中的感悟。01学习中出来之后发现在学校的学习效率是远远比自主学习效率高的&#xff0c;学什么东西之前都会先知道他的大体概念&#xff0c;通透了解一下再学习会发现有效率的多。在有大致了解的情况下再去听老师讲课…

“半路出家”的程序猿怎么不被“熊”

文本原创&#xff1a;孙浩投稿这篇文章总有点‘好为人师’的感觉&#xff0c;但是自己作为一个“半路出家”的程序看过太多的和我同样出身的程序半途而废了。我现在在一家软件公司就职&#xff0c;担任技术主管职位。01 带过毕业生&#xff0c;也带过中途转行&#xff0c;也带过…

这可能是把Docker的概念讲的最清楚的一篇文章

转载自 这可能是把Docker的概念讲的最清楚的一篇文章 Docker 是世界领先的软件容器平台&#xff0c;本文主要来介绍下关于Docker的那些事儿&#xff0c;主要包含以下内容&#xff1a; 容器 什么是Docker&#xff1f; Docker思想、特点 Docker容器主要解决什么问题 容器 V…

【2018.3.17】模拟赛之一-ssl2574jzoj1368 无限序列【斐波那契数列】

正题 链接 需要纪中OJ账号 刚开始一个字符串”1”。然后进行无数次变化&#xff0c;1变为10,0变为1。然后求多个区间内的1的个数 输入输出&#xff08;需要自取&#xff09; Input   第一行为一个整数Q&#xff0c;后面有Q行&#xff0c;每行两个数用空格隔开的整数a, b。 …

Python变量名的定义规则与定义方式

变量名的定义规则 1.变量名只能是 字母、数字或者下划线的任意组合 2.变量名的第一个字符不能是数字 3.一下关键字不能声明为变量名 常用定义方式 驼峰法 AgeOfOld56 NumberOfStudents22 下划线 age_of_old56 第二种为官方推荐 定义变量不好的方式举例 1.变量名为中…

洋葱架构简介——分离是为了更好的结合

写出高质量软件是困难和复杂的&#xff1a;不仅仅是为了满足需求&#xff0c;还应该是健壮的&#xff0c;可维护的&#xff0c;可测试的&#xff0c;并且足够灵活以适应成长和变化。这就是洋葱架构出现的原因&#xff0c;它代表一组优秀的开发实践&#xff0c;用来开发任何的软…

RBAC(基于角色的权限访问控制)

第一节.RBAC简介 英文全称(Role-Based Access Control)中文全称:基于角色的权限访问控制rbac: 一种数据库设计思想,根据设计数据库设计方案,完成项目的权限控制.经常需要添加权限的情景 4.1 不同用户登录后看到的菜单是不一样的. 4.2 不同用户看到的页面效果不一样 4.2.1 有的…

子列表只是原列表的一个视图

原文参考&#xff1a;《编写高质量代码&#xff1a;改善java程序的151个建议》本文原创&#xff1a;穆雄雄上期文章&#xff1a;subList?? subString???上期我们说到&#xff0c;List接口提供了subList方法&#xff0c;其作用是返回一个列表的子列表。并且我们通过案例说明…