P1212 Geodetic 集合
2017年6月11日


先用Floyd算法算出任意两点之间的距离;
对于要求的任意两个点v, u,枚举所有点(记作 i)如果满足:

Edge[x][i] + Edge[i][y] == Edge[x][y];
//Edge表示任意两个点的最短距离

则输出I点。


#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
#include <cstdlib>
#include <cmath>
#include <cstring>
using namespace std;//100%的数据,n<=40 k<=2000
int N, M, K;
/*
第一行两个整数n,m,分别表示图G的顶点数和边数(顶点编号1-n)
下接m行,每行两个整数a,b表示顶点a和b之间有一条无向边。
第m+2行有一个整数k,表示给定的点对数。
下接k行,每行两个整数v,u。
*/
int Edge[50][50];void Putin()
{memset(Edge, 10, sizeof(Edge));cin >> N >> M;int a, b;for(int i = 1; i <= M; i++){cin >> a >> b;Edge[a][b] = Edge[b][a] = 1;}cin >> K;
}void Floyd()
{for(int k = 1; k <= N; k++)for(int i = 1; i <= N; i++)for(int j = 1; j <= N; j++)Edge[i][j] = min(Edge[i][j], (Edge[i][k] + Edge[k][j]));
}inline void CalPrt(int x, int y)
{for(int i = 1; i <= N; i++){if(i == x || i == y){cout << i << ' ';continue;}if(Edge[x][i] + Edge[i][y] == Edge[x][y])cout << i << ' ';}cout << endl;
}int main()
{Putin();Floyd();for(int i = 1; i <= K; i++){int v, u;cin >> v >> u;CalPrt(v, u);}return 0;
}

Geodetic 集合相关推荐

  1. Geodetic集合 c++

    感谢某位不知名dalao的博客,我才知道怎么解题.... 最开始连题意都读错了....这个故事告诉我们要好好读题 描述 Description 图G是一个无向连通图,没有自环,并且两点之间至多只有一条 ...

  2. Geodetic集合(c++)

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

  3. Geodetic集合

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

  4. 洛谷——P3906 Geodetic集合

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

  5. 洛谷 P3906 Geodetic集合 题解

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

  6. 洛谷P3906 Geodetic集合解题报告

    Geodetic集合 P3906 技术统计 难度 提高+/省选- 用时 30min 提交次数 1 unaccept 次数 0 ac次数 1 题意概括 题干不能再概括了啊啊啊啊 数据范围 n≤40n\l ...

  7. P3906 Geodetic集合 最短路的点集

    P3906 Geodetic集合 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 把无向边看作长度均为1的有向边然后求最短路即可.但是此题需要把所有最短路上的点放入集合.并随机取两点 ...

  8. P3906 Geodetic集合

    传送门(洛谷) 数据范围:n<=40,故先用floydfloydfloyd跑一遍,然后遍历每一个点(相当于一个中转点),如果起点到这个中转点的距离加上中转点到终点的距离和等于起点到终点的距离,则 ...

  9. 洛谷 P3906 Geodetic集合

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

最新文章

  1. Google Research进军蛋白质结构预测:为Pfam数据库新增680万标注数据
  2. myeclipse乱码
  3. workbench拓扑优化教程_优化技术在水泵水力设计的应用(上篇)
  4. linux emacs命令,Linux Bash Shell 终端 Terminal Emacs 模式 常用 快捷键 命令
  5. 格力电器Java面试题_JAVA设计模式学习--工厂模式
  6. Java8————Stream API
  7. Multisim调出时钟设置方波信号
  8. Spring源码系列 — BeanDefinition
  9. WinDirStat – 硬盘空间都用在哪里了
  10. Windows cmd 查看文件MD5 SHA1 SHA256
  11. 【CRC笔记】CRC-16 KERMIT C语言实现
  12. 【HTML/CSS】HTML/CSS个人学习总结
  13. 7-76 查询水果价格
  14. 驱动开发思路以及应用程序与驱动程序的区别
  15. 见闻-关于codec芯片
  16. 程序员接私活平台汇总,有技术就有钱!
  17. vue2+vuecli3+elementUI后台管理系列之sidebar导航的开发(五)
  18. 计算机环境安全容器服务未启动怎么解决,音频服务未运行|音频服务未启动 - 音频服务未运行的解决办法 - 安全专题...
  19. centos7安装ftp服务登录不上的坑总结
  20. Geant4------初学3

热门文章

  1. 使用FFmpeg 批量处理视频
  2. java jsp eq_javaWeb核心技术第九篇之JSP
  3. Docker之私有仓库harbor (二)
  4. mat 释放_c++ - OpenCV无法释放Mat *内存 - 堆栈内存溢出
  5. Formail邮件导出方法,邮件导出fox格式文件,邮件存档
  6. pc端客户端爬虫_FIddler+Proxifer工具对windows PC客户端进行抓包
  7. 硬件架构的艺术:同步FIFO设计
  8. 并不是越好的院校,考研专业课越难。
  9. 什么是模拟量,通俗易懂的讲解AI和AO
  10. 华为服务器报警显示F02,华为手机黑屏白字怎么调回来