★   输入文件:mazea.in   输出文件:mazea.out   简单对比
时间限制:1 s   内存限制:128 MB Freda 的迷宫

义为一个房间序列,每个房间至多在序列里出现一次,且序列中相邻的两个房间有走廊相连。

当起点和终点之间存在且仅存在一条简单路径的时候,Freda 认为这个挑战方案是RD 的。现

在,请你帮帮Resodo 来写一个程序,判断一个挑战方案是否是RD 的。

输入格式

第一行三个整数N,M,Q.分别表示房间数,走廊数,询问数。

接下来M 行每行2 个整数x,y, 0<x,y<=n, 表示x="" 和y="" 之间有一条走廊相连。<="" span="">

接下来Q 行每行2 个整数x,y, 表示询问以x 为起点,y 为终点的挑战方案是否是RD 的.

2 4

2 5

4 5

1 3

1 5

2 6

输出样例

Y

N

N

样例解释

1,3 之间只有一条路径1->2->3

1,5 之间有两条路径1->2->5 ; 1->2->4->5

1,6 之间没有路径

数据范围与约定

对于30%的数据,N<=100, M<=1000, Q<=100.

对于50%的数据,N<=1000, M<=10000, Q<=1000.

对于100%的数据,N<=10000, M<=100000, Q<=10000.

tarjan求桥

Rank1(  偷笑 )

屠龙宝刀点击就送

#include <cstdio>
#define N 200005int n,m,q,cnt,tim,fa[N],to[N<<1],dfn[N],low[N],head[N],nextt[N<<1];
void ins(int u,int v)
{nextt[++cnt]=head[u];to[cnt]=v;head[u]=cnt;nextt[++cnt]=head[v];to[cnt]=u;head[v]=cnt;
}
int find_(int x) {return x==fa[x]?x:fa[x]=find_(fa[x]);}
inline int min(int a,int b) {return a>b?b:a;}
void tarjan(int x,int pre)
{low[x]=dfn[x]=++tim;for(int i=head[x];i;i=nextt[i]){int v=to[i];if(v==pre) continue;if(!dfn[v]){tarjan(v,x);low[x]=min(low[x],low[v]);if(low[v]>dfn[x]) fa[find_(v)]=find_(x);}else if(v!=pre) low[x]=min(low[x],dfn[v]);}
}
int Main()
{freopen("mazea.in","r",stdin);freopen("mazea.out","w",stdout);scanf("%d%d%d",&n,&m,&q);for(int u,v;m--;){scanf("%d%d",&u,&v);ins(u,v);}for(int i=1;i<=n;++i) fa[i]=i;for(int i=1;i<=n;++i)if(!dfn[i]) tarjan(i,0);for(int x,y;q--;){scanf("%d%d",&x,&y);if(find_(x)==find_(y)) puts("Y");else puts("N");}return 0;
}
int sb=Main();
int main(int argc,char *argv[]) {;}

转载于:https://www.cnblogs.com/ruojisun/p/7701149.html

COGS 1043. [Clover S2] Freda的迷宫相关推荐

  1. [3.3训练赛]One-Dimensional(矩阵快速幂),Freda的迷宫(无向图强连通分量+并查集),一道防AK好题

    文章目录 T1:One-Dimensional title solution code T2:[NOIP模拟赛]Freda的迷宫 title solution code T3:[NOIP模拟赛]一道防 ...

  2. 【Tyvj1922】Freda的迷宫

    Freda的迷宫 Description Freda是一个迷宫爱好者,她利用业余时间建造了许多迷宫.每个迷宫都是由若干房间和走廊构成的,每条走廊都连接着两个不同的房间,两个房间之间最多只有一条走廊直接 ...

  3. cogs 997. [東方S2] 射命丸文

    二次联通门 : cogs 997. [東方S2] 射命丸文 /*cogs 997. [東方S2] 射命丸文二维前缀和枚举每个子矩阵更新最大值.. 莫名rank1 */ #include <cst ...

  4. cogs 998. [東方S2] 帕秋莉·诺蕾姬

    二次联通门 : cogs 998. [東方S2] 帕秋莉·诺蕾姬 交上去后发现自己没上榜 就想着加点黑科技 把循环展开一下 结果WA了.. 万恶的姆Q /*cogs 998. [東方S2] 帕秋莉·诺 ...

  5. 【POJ3126 Prime Path】【POJ 3087 Shuffle'm Up】【UVA 11624 Fire!】【POJ 3984 迷宫问题】

    POJ3126Prime Path 给定两个四位素数a  b,要求把a变换到b 变换的过程要 每次变换出来的数都是一个 四位素数,而且当前这步的变换所得的素数  与  前一步得到的素数  只能有一个位 ...

  6. c 实现走迷宫流程图_c语言迷宫问题程序功能介绍.设计思路.数据结构设计及用法说明程序结构(流程图).各模块的功能及程序说明....

    满意答案 qiniy808451 2014.01.06 采纳率:40%    等级:13 已帮助:8084人 原来也做过,以下是写的源代码,里面有部分注释,应该能看懂,可以运行.总结的话,把代码写进去 ...

  7. 2015年华为实习生机试样题(记票统计,计算麻将的番数,Word Maze(单词迷宫))

    这是华为今年实习生招聘给的样题,还是特别喜欢考字符串处理问题. 记票统计 描述: 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用"A"."B" ...

  8. 用Q-learning算法实现自动走迷宫机器人

    项目描述: 在该项目中,你将使用强化学习算法,实现一个自动走迷宫机器人. 如上图所示,智能机器人显示在右上角.在我们的迷宫中,有陷阱(红色炸弹)及终点(蓝色的目标点)两种情景.机器人要尽量避开陷阱.尽 ...

  9. 迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践(1)

    迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践 0.相关文章 1.导入所使用的包 2. 定义迷宫 3.定义迷宫动作 4.策略参数θ转换为行动策略π 5.定义随机移动函数 6.定义使智 ...

最新文章

  1. 的app抓包 ssl_抓包旧版App
  2. CN.Text开发笔记—利用反射将数据读入实体类
  3. Phpmyadmin安装过程
  4. 今日代码(20201003)--简单爬虫
  5. 以下题目需要当场编写实现,,答案自己写
  6. mac ---- 安装nginx
  7. OpenCV3.4.1+VS2018 安装并配置详细教程
  8. 20+免费精美响应式Html5 网站模板01(含源码)
  9. 学习Java8这一篇就够了
  10. Camera 图像处理原理分析- 色彩篇 一
  11. 如何查看电脑mac地址
  12. 2017年中国互联网企业100强排行榜
  13. PHP --方法调用
  14. 2019计算机电源海关征税,回国华人注意!2019中国海关严打:这些东西千万别带了!...
  15. [译]Flutter缓存管理库flutter_cache_manager
  16. java 爬楼梯算法_动态规划-爬楼梯问题java实现
  17. php feff,php编程中要留意的那些坑~
  18. 游戏文化VS文化游戏(第一篇)
  19. CSDN日报20170712——《AI 大行其道,你准备好了吗?》 标签: csdn程序人生 2017-07
  20. linux 再文件夹目录下,批量替换文件名、文件内容字符串

热门文章

  1. win10 安装 ad9
  2. 滚轮每次滚动距离是一致的吗_「超硬核科普」鼠标的发展历史,中国人发明的鼠标滚轮...
  3. ISCSLP 2022 | AccentSpeech—从众包数据中学习口音来构建目标说话人的口音语音合成系统
  4. 记一次基于vmware的gentoo安装
  5. XSS与字符编码的那些事儿
  6. ant vue 的datepicker类组件中英文混合显示解决
  7. 正则表达式:邮箱匹配
  8. python中安装excel使用的模块
  9. 甘肃环讯信息科技有限公司加入openGauss社区
  10. Vue中3.0版本严格模式运行项目报错