Geodetic集合

P3906


技术统计

难度

提高+/省选-

用时

30min

提交次数 1

unaccept 次数 0

ac次数 1


题意概括

题干不能再概括了啊啊啊啊

数据范围

n≤40n\le40n≤40



解法、

知识点

  1. floyd
  2. 最短路

解法概括

我欺负它数据范围小,就直接跑floyd咯。然后枚举1~n所有的点,若存在dis[i][k]+dis[k][j]==dis[i][j],则ans++。个人认为这里是floyd算法的逆应用。

坑点

  1. 一定要建双向边
  2. 每次统计完后别忘记sort一下,以防万一

代码实现

#include<cstdio>
#include<algorithm>
#include<cstring>
#define inf 40
using namespace std;
int n,m;
int vis[50];
int f[50][50];
inline int read()
{int f=1,k=0;char c=getchar();while(c>'9'||c<'0'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9')k=(k<<1)+(k<<3)+(c^48),c=getchar();return f*k;
}
void floyd()
{for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
}
int main()
{n=read();m=read();memset(f,inf,sizeof(f));for(int i=1;i<=m;i++){int a=read(),b=read();f[a][b]=f[b][a]=1;}floyd();int q=read();for(int i=1;i<=q;i++){memset(vis,0,sizeof(vis));int a=read(),b=read(),cnt=0;vis[++cnt]=a;for(int j=1;j<=n;j++)if(f[a][j]+f[j][b]==f[a][b])vis[++cnt]=j;vis[++cnt]=b;sort(vis+1,vis+cnt+1);for(int j=1;j<cnt;j++)printf("%d ",vis[j]);printf("%d\n",vis[cnt]);}
}


类似题目

还没做到qwq(本来这里我想打ye的,但是没找到,,结果发现了“吔”,,,果然b站不能完全相信QAQ)

洛谷P3906 Geodetic集合解题报告相关推荐

  1. 洛谷——P3906 Geodetic集合

    P3906 Geodetic集合 题目描述 图G是一个无向连通图,没有自环,并且两点之间至多只有一条边.我们定义顶点v,u最短路径就是从v到u经过边最少的路径.所有包含在v-u的最短路径上的顶点被称为 ...

  2. 洛谷 P3906 Geodetic集合 题解

    题目描述 图G是一个无向连通图,没有自环,并且两点之间至多只有一条边.我们定义顶点v,u最短路径就是从v到u经过边最少的路径.所有包含在v-u的最短路径上的顶点被称为v-u的Geodetic顶点,这些 ...

  3. 洛谷 P3906 Geodetic集合

    题目大意: nnn个点mmm条遍的无向图,如果点iii在点uuu到点vvv的最短路径(uuu到vvv的边数最少)上,那么记这些点为集合I(u,v)I(u,v)I(u,v) 有kkk个询问,问集合I(u ...

  4. 洛谷1056 排座椅 解题报告

    洛谷1056 排座椅 本题地址: http://www.luogu.org/problem/show?pid=1056 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头 ...

  5. 洛谷1067 多项式输出 解题报告

    洛谷1067 多项式输出 本题地址: http://www.luogu.org/problem/show?pid=1067 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i ...

  6. 洛谷 P4475 巧克力王国 解题报告

    P4475 巧克力王国 题目描述 巧克力王国里的巧克力都是由牛奶和可可做成的.但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力. 对于每一块巧克力,我们设 \(x\) 和 \( ...

  7. 洛谷 P4706 取石子 解题报告

    P4706 取石子 题目描述 现在 Yopilla 和 yww 要开始玩游戏! 他们在一条直线上标记了 \(n\) 个点,从左往右依次标号为 \(1, 2, ..., n\) .然后在每个点上放置一些 ...

  8. 洛谷 P1309 瑞士轮 解题报告

    P1309 瑞士轮 题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低 ...

  9. 洛谷 P2184 贪婪大陆 解题报告

    P2184 贪婪大陆 题目背景 面对蚂蚁们的疯狂进攻,小\(FF\)的\(Tower\) \(defence\)宣告失败--人类被蚂蚁们逼到了\(Greed\) \(Island\)上的一个海湾.现在 ...

最新文章

  1. 以太坊Geth的dev模式的使用过程
  2. python列表的切片操作
  3. ansible(5)——使用通配符操作ansible命令
  4. IIS 7.0的集成模式和经典模式
  5. 撸了个 DDD 项目,爽!
  6. 深度学习白话_如何提高论文的深度?
  7. QOS---fr流量×××--用了frame-relay fragmet 40
  8. dmidecode 硬件查看
  9. EnterpriseDb公司的Postgres Enterprise Manager 安装图解
  10. CodeForces - 729D
  11. php 路由器设置密码,登陆192.168.1.1路由器如何设置密码
  12. 软件测试 | 测试方案怎么写
  13. 在Termux中安装Kali教程
  14. python中Pandas之DataFrame索引、选取数据
  15. spring事务管理方式
  16. 新中新二代身份证dll调用,报尝试读取或写入受保护的内存,这通常指示其他内存已损坏 这个错 ...
  17. 2017.11-上海商泰汽车有限公司面试
  18. PPT制造精巧水晶收获组织机构图好看的ppt模板下载
  19. 个人管理|曾航:给年轻人的写作课(上)
  20. SolidWorks装配体中让弹簧随装配体运动的方法

热门文章

  1. 黑客摆弄技术 攻击政府部门网站
  2. C++中的数据类型及其所占字节
  3. linux下怎么安装打印驱动安装驱动程序,Linux下安装HP打印机的驱动程序
  4. npm报错stack Error: EACCES: permission denied, mkdir
  5. 固网打印服务器型号对应,固网打印服务器兼容列表(2014.7.21更新).xls
  6. 【Redis】Redis高可用之Sentinel哨兵模式详解(Redis专栏启动)
  7. 前端插件库之vue3使用vue-codemirror插件
  8. c语言调试时窗口一闪就没了,VS2012编译C语言代码运行出现黑框一闪就没了
  9. 惠普HP Deskjet F378 多功能一体机驱动
  10. “吃货联盟定餐系统”