博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【BZOJ 3504】[Cqoi2014]危桥
阅读量:5864 次
发布时间:2019-06-19

本文共 1382 字,大约阅读时间需要 4 分钟。

Description

Alice和Bob居住在一个由N座岛屿组成的国家,岛屿被编号为0到N-1。某些岛屿之间有桥相连,桥上的道路是双

向的,但一次只能供一人通行。其中一些桥由于年久失修成为危桥,最多只能通行两次。Alice希望在岛屿al和a2之间往返an次(从al到a2再从a2 到al算一次往返)。同时,Bob希望在岛屿bl和b2之间往返bn次。这个过程中,所有危桥最多通行两次,其余的桥可以无限次通行。请问Alice和 Bob能完成他们的愿望吗?

Input

本题有多组测试数据。
每组数据第一行包含7个空格隔开的整数,分别为N、al、a2、an、bl、b2、bn。
接下来是一个N行N列的对称矩阵,由大写字母组成。矩阵的i行j列描述编号i一1和j-l的岛屿间的连接情况,若为“O”则表示有危桥相连:为“N”表示有普通的桥相连:为“X”表示没有桥相连。
|

Output

对于每组测试数据输出一行,如果他们都能完成愿望输出“Yes”,否则输出“No”。

Sample Input

4 0 1 1 2 3 1
XOXX
OXOX
XOXO
XXOX
4 0 2 1 1 3 2
XNXO
NXOX
XOXO
OXOX

Sample Output

Yes

No
数据范围
4<=N<50
O<=a1, a2, b1, b2<=N-1
1 <=an. b<=50

 

1 #include
2 #include
3 #include
4 using namespace std; 5 const int N=60,inf=10000000; 6 struct ee{
int to,next,f;}e[N*N*20]; 7 int S,T,cnt=1,n,k,timer,m,u,v,w,a1,a2,an,b1,b2,bn; 8 char s[N]; 9 long long ans;10 int head[N],dis[N],pre[N],q[N],map[N][N];11 bool inq[N];12 void ins(int u,int v,int f){13 e[++cnt].to=v,e[cnt].next=head[u],e[cnt].f=f,head[u]=cnt;14 e[++cnt].to=u,e[cnt].next=head[v],e[cnt].f=0,head[v]=cnt;15 }16 bool bfs(){17 for (int i=1;i<=T;i++) dis[i]=inf;18 int h=0,t=1,now;19 q[1]=S;dis[S]=0;20 while(h!=t){21 now=q[++h];22 for (int i=head[now];i;i=e[i].next){23 int v=e[i].to;24 if (e[i].f&&dis[now]+1

 

转载于:https://www.cnblogs.com/wuminyan/p/5215714.html

你可能感兴趣的文章
vue axios 二次封装+BaseUrl打包后自定义+api接口封装
查看>>
重新认识前端开发使用的『图片』
查看>>
利用树莓派和闲置硬盘,搭建起家中的个人网盘
查看>>
基于Github Page 搭建博客(hexo框架)
查看>>
块级元素+行内元素+空元素
查看>>
各个时间点的心态
查看>>
将你的小册制作成一整本PDF
查看>>
vue组件通信
查看>>
Git 常用命令总结
查看>>
一个毕业6年的程序员工作经历和成长感悟
查看>>
pandas常用操作总结【持续更新】
查看>>
css动画实现div内图片逆时针旋转
查看>>
Spring Boot 中关于自定义异常处理的套路!
查看>>
2019年云计算发展趋势,今年十大云计算趋势
查看>>
好程序员web前端技术分享移动端页面布局
查看>>
call,apply,bind的模拟实现
查看>>
[C语言]基本数据类型
查看>>
CSS的工作过程
查看>>
傀儡娃娃作者 李欢:插画艺术IP的商业化之路 | 点评家
查看>>
Ubuntu下安装并配置VS Code
查看>>