COGS 1043. [Clover S2] Freda的迷宫
★ 输入文件:mazea.in 输出文件:mazea.out 简单对比
时间限制:1 s 内存限制:128 MB Freda 的迷宫
- (mazea.pas/.c/.cpp)
- 题目叙述
- Freda 是一个迷宫爱好者,她利用业余时间建造了许多迷宫。每个迷宫都是由若干房间
- 和走廊构成的,每条走廊都连接着两个不同的房间,两个房间之间最多只有一条走廊直接相
- 连,走廊都是双向通过。
- 黄昏时候,Freda 喜欢在迷宫当中漫步。每天,Resodo 都会为Freda 设计一个挑战方案。
- Resodo 会指定起点和终点,请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 的.
- 输出格式
- 对于每个询问,输出一行”Y”或者”N”(不含引号).Y 表示该询问所表示的挑战方案
- 是RD 的,N 表示该询问所表示的挑战方案不是RD 的.
- 输入样例
- 6 5 3
- 1 2
- 2 3
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 200005 int n,m,q,cnt,tim,fa[N],to[N<<],dfn[N],low[N],head[N],nextt[N<<];
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=;i<=n;++i) fa[i]=i;
for(int i=;i<=n;++i)
if(!dfn[i]) tarjan(i,);
for(int x,y;q--;)
{
scanf("%d%d",&x,&y);
if(find_(x)==find_(y)) puts("Y");
else puts("N");
}
return ;
}
int sb=Main();
int main(int argc,char *argv[]) {;}
COGS 1043. [Clover S2] Freda的迷宫的更多相关文章
- 【CSP模拟赛】Freda的迷宫(桥)
题目描述 Freda是一个迷宫爱好者,她利用业余时间建造了许多迷宫.每个迷宫都是由若干房间和走廊构成的,每条走廊都连接着两个不同的房间,两个房间之间最多只有一条走廊直接相连,走廊都是双向通过. 黄昏 ...
- Tarjan 求图点强联通,桥的应用
在图中求双联通和强联通分量是我们解决非树结构的图连通问题的利器 通过求求图的双联通和强联通分量能把图转化成DAG进行求解: 行走 Description 给出一个有向图,你可以选择从任意点出发走到任意 ...
- cogs 997. [東方S2] 射命丸文
二次联通门 : cogs 997. [東方S2] 射命丸文 /* cogs 997. [東方S2] 射命丸文 二维前缀和 枚举每个子矩阵 更新最大值.. 莫名rank1 */ #include < ...
- cogs 998. [東方S2] 帕秋莉·诺蕾姬
二次联通门 : cogs 998. [東方S2] 帕秋莉·诺蕾姬 交上去后发现自己没上榜 就想着加点黑科技 把循环展开一下 结果WA了.. 万恶的姆Q /* cogs 998. [東方S2] 帕秋莉· ...
- cogs 999. [東方S2]雾雨魔理沙
二次联通门 : cogs 999. [東方S2]雾雨魔理沙 摸你傻赛高!! /* cogs 999. [東方S2]雾雨魔理沙 原来以为是一道计算几何的题 可是细细一想发现.. 这就是一道dp 由于给定 ...
- Cogs 309. [USACO 3.2] 香甜的黄油 dijkstra,堆,最短路,floyd
题目:http://cojs.tk/cogs/problem/problem.php?pid=309 309. [USACO 3.2] 香甜的黄油 ★★ 输入文件:butter.in 输出文件 ...
- 1043 - Triangle Partitioning(数学)
1043 - Triangle Partitioning PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Limit ...
- 【搜索1】P1605 迷宫
题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫 中移动有上下 ...
- POJ-1077 HDU 1043 HDU 3567 Eight (BFS预处理+康拓展开)
思路: 这三个题是一个比一个令人纠结呀. POJ-1077 爆搜可以过,94ms,注意不能用map就是了. #include<iostream> #include<stack> ...
随机推荐
- HN669打包工具--打包工具使用文档
打包工具主要包含下载更新资源文件以及打包两个部分 一.下载更新资源文件 1.终端进入工具根目录,即HN669SDK_iOS目录,并运行./api.sh脚本 2.输入游戏id (note:此游戏id为我 ...
- 【关于安装mysql5.6的一些问题总结】
1:安装msyql5.6介质(mysql-5.6.24-winx64.msi)以后没有myslq服务: 解决: 管理员身份cmd进入bin目录: mysqld.exe -install Service ...
- datagrid 绑定选中数据,列头全选
成品图: xaml代码 <Grid> <DataGrid x:Name="datagrid" Height="Auto" Width=&quo ...
- 程序员笔记|详解Eureka 缓存机制
引言 Eureka是Netflix开源的.用于实现服务注册和发现的服务.Spring Cloud Eureka基于Eureka进行二次封装,增加了更人性化的UI,使用更为方便.但是由于Eureka本身 ...
- 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU特性介绍(2)- RT685EVKA性能实测(Dhrystone)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的性能. 在前面的文章 i.MXRTxxx微控制器概览 里,痞子衡给大家简介过恩智浦半导体在2018 ...
- [CentOS7] 常用工具 之 防暴力破解工具 Fail2ban
防止暴力破解密码: Fail2ban ==> 用于自动ban掉ip 先用yum search fail2ban看看是否yum源含有fail2ban这个package,若没有的话请yum inst ...
- smix到底是个啥?Perl的正则表达式匹配模式
最近在研究一个perl项目,临时学习了一下perl语法,强行看项目源码.因为总是见到各种正则表达式后面接smxi之类,虽然知道是匹配模式,但脑子里毫无概念.所以特地去学习了一下. 以上为背景. Per ...
- [转]SE43 修改SAP标准菜单、登陆界面、背景图片
1.事务码se43 复制标准菜单S000 到 ZS000 2.按实际需要修改 ZS000 3.在事务码SSM2中用ZS000 代替 S000 4.注销后重新登陆 o 修改SAP登陆界面(在本博客 ...
- Meissel Lehmer Algorithm 求前n个数中素数个数 【模板】
Count primes Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
- 模型事件注意点,before_delete、after_delete、before_write、after_write、before_update、after_update、before_insert、after_insert
模型类支持before_delete.after_delete.before_write.after_write.before_update.after_update.before_insert.af ...