COGS 1043. [Clover S2] Freda的迷宫
★ 输入文件: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的迷宫相关推荐
- [3.3训练赛]One-Dimensional(矩阵快速幂),Freda的迷宫(无向图强连通分量+并查集),一道防AK好题
文章目录 T1:One-Dimensional title solution code T2:[NOIP模拟赛]Freda的迷宫 title solution code T3:[NOIP模拟赛]一道防 ...
- 【Tyvj1922】Freda的迷宫
Freda的迷宫 Description Freda是一个迷宫爱好者,她利用业余时间建造了许多迷宫.每个迷宫都是由若干房间和走廊构成的,每条走廊都连接着两个不同的房间,两个房间之间最多只有一条走廊直接 ...
- cogs 997. [東方S2] 射命丸文
二次联通门 : cogs 997. [東方S2] 射命丸文 /*cogs 997. [東方S2] 射命丸文二维前缀和枚举每个子矩阵更新最大值.. 莫名rank1 */ #include <cst ...
- cogs 998. [東方S2] 帕秋莉·诺蕾姬
二次联通门 : cogs 998. [東方S2] 帕秋莉·诺蕾姬 交上去后发现自己没上榜 就想着加点黑科技 把循环展开一下 结果WA了.. 万恶的姆Q /*cogs 998. [東方S2] 帕秋莉·诺 ...
- 【POJ3126 Prime Path】【POJ 3087 Shuffle'm Up】【UVA 11624 Fire!】【POJ 3984 迷宫问题】
POJ3126Prime Path 给定两个四位素数a b,要求把a变换到b 变换的过程要 每次变换出来的数都是一个 四位素数,而且当前这步的变换所得的素数 与 前一步得到的素数 只能有一个位 ...
- c 实现走迷宫流程图_c语言迷宫问题程序功能介绍.设计思路.数据结构设计及用法说明程序结构(流程图).各模块的功能及程序说明....
满意答案 qiniy808451 2014.01.06 采纳率:40% 等级:13 已帮助:8084人 原来也做过,以下是写的源代码,里面有部分注释,应该能看懂,可以运行.总结的话,把代码写进去 ...
- 2015年华为实习生机试样题(记票统计,计算麻将的番数,Word Maze(单词迷宫))
这是华为今年实习生招聘给的样题,还是特别喜欢考字符串处理问题. 记票统计 描述: 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用"A"."B" ...
- 用Q-learning算法实现自动走迷宫机器人
项目描述: 在该项目中,你将使用强化学习算法,实现一个自动走迷宫机器人. 如上图所示,智能机器人显示在右上角.在我们的迷宫中,有陷阱(红色炸弹)及终点(蓝色的目标点)两种情景.机器人要尽量避开陷阱.尽 ...
- 迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践(1)
迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践 0.相关文章 1.导入所使用的包 2. 定义迷宫 3.定义迷宫动作 4.策略参数θ转换为行动策略π 5.定义随机移动函数 6.定义使智 ...
最新文章
- 的app抓包 ssl_抓包旧版App
- CN.Text开发笔记—利用反射将数据读入实体类
- Phpmyadmin安装过程
- 今日代码(20201003)--简单爬虫
- 以下题目需要当场编写实现,,答案自己写
- mac ---- 安装nginx
- OpenCV3.4.1+VS2018 安装并配置详细教程
- 20+免费精美响应式Html5 网站模板01(含源码)
- 学习Java8这一篇就够了
- Camera 图像处理原理分析- 色彩篇 一
- 如何查看电脑mac地址
- 2017年中国互联网企业100强排行榜
- PHP --方法调用
- 2019计算机电源海关征税,回国华人注意!2019中国海关严打:这些东西千万别带了!...
- [译]Flutter缓存管理库flutter_cache_manager
- java 爬楼梯算法_动态规划-爬楼梯问题java实现
- php feff,php编程中要留意的那些坑~
- 游戏文化VS文化游戏(第一篇)
- CSDN日报20170712——《AI 大行其道,你准备好了吗?》 标签: csdn程序人生 2017-07
- linux 再文件夹目录下,批量替换文件名、文件内容字符串