Description
小X 正困在一个密室里,他希望尽快逃出密室。
密室中有N 个房间,初始时,小X 在1 号房间,而出口在N 号房间。
密室的每一个房间中可能有着一些钥匙和一些传送门,一个传送门会单向地创造一条从房间X 到房间Y 的通道。另外,想要通过某个传送门,就必须具备一些种类的钥匙(每种钥匙都要有才能通过)。幸运的是,钥匙在打开传送门的封印后,并不会消失。
然而,通过密室的传送门需要耗费大量的时间,因此,小X 希望通过尽可能少的传送门到达出口,你能告诉小X 这个数值吗?
另外,小X 有可能不能逃出这个密室,如果是这样,请输出"No Solution"。
Input
第一行三个整数N,M,K,分别表示房间的数量、传送门的数量以及钥匙的种类数。
接下来N 行,每行K 个0 或1,若第i 个数为1,则表示该房间内有第i 种钥匙,若第i 个数为0,则表示该房间内没有第i 种钥匙。
接下来M 行,每行先读入两个整数X,Y,表示该传送门是建立在X 号房间,通向Y 号房间的,再读入K 个0 或1,若第i 个数为1,则表示通过该传送门需要i 种钥匙,若第i 个数为0,则表示通过该传送门不需要第i 种钥匙。
Output
输出一行一个“No Solution”,或一个整数,表示最少通过的传送门数。
Sample Input
3 3 2
1 0
0 1
0 0
1 3 1 1
1 2 1 0
2 3 1 1
Data Constraint
aaarticlea/png;base64,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" alt=" " />
aaarticlea/png;base64,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" alt=" " />
话说这题很眼熟啊...
直接状压一发,然后跑一个bfs。
其实是码农题, 此题一A没有调试真的是特别爽。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;
inline int read() {
int res=;char c=getchar();bool f=;
while(!isdigit(c)) {if(c=='-')f=;c=getchar();}
while(isdigit(c))res=(res<<)+(res<<)+(c^),c=getchar();
return f?-res:res;
}
int n, m, k;
struct edge{
int nxt, to, sit;
}ed[];
int head[], cnt;
inline void add(int x, int y, int z)
{
ed[++cnt] = (edge){head[x], y, z, };
head[x] = cnt;
}
int w[];
struct date {
int x, sit;
};
int dis[<<][];
int main()
{
freopen("room.in", "r", stdin);
freopen("room.out", "w", stdout);
n = read(), m = read(), k = read();
for (int i = ; i <= n; i ++)
{
int x = ;
for (int j = ; j <= k ; j ++)
{
x <<= ;
x |= read();
}
w[i] = x;
}
for (int i = ; i <= m ; i ++)
{
int x = read(), y = read();
int re = ;
for (int j = ; j <= k ; j ++)
{
re <<= ;
re |= read();
}
add(x, y, re);
}
queue <date> q;
memset(dis, -, sizeof dis);
q.push((date){, w[]});
dis[w[]][] = ;
while(!q.empty())
{
int x = q.front().x, so = q.front().sit;
q.pop();
for (int i = head[x] ; i ; i = ed[i].nxt)
{
int to = ed[i].to;
if ((so & ed[i].sit) == ed[i].sit and dis[so|w[to]][to] == -)
{
dis[so|w[to]][to] = dis[so][x] + ;
q.push((date){to, so | w[to]});
}
}
}
int ans = 1e9;
for (int i = ; i <= ( << k) - ; i ++) if (dis[i][n] != -)ans = min(ans, dis[i][n]);
if (ans == 1e9) return puts("No Solution"), ;
printf("%d\n", ans);
return ;
}
- JZOJ 5462. 【NOIP2017提高A组冲刺11.8】好文章
5462. [NOIP2017提高A组冲刺11.8]好文章 (File IO): input:article.in output:article.out Time Limits: 1000 ms M ...
- 5458. 【NOIP2017提高A组冲刺11.7】质数
5458. [NOIP2017提高A组冲刺11.7]质数 (File IO): input:prime.in output:prime.out Time Limits: 1000 ms Memory ...
- JZOJ 5456. 【NOIP2017提高A组冲刺11.6】奇怪的队列
5456. [NOIP2017提高A组冲刺11.6]奇怪的队列 (File IO): input:queue.in output:queue.out Time Limits: 1000 ms Mem ...
- JZOJ 5459. 【NOIP2017提高A组冲刺11.7】密室
5459. [NOIP2017提高A组冲刺11.7]密室 (File IO): input:room.in output:room.out Time Limits: 1000 ms Memory L ...
- JZOJ 5455. 【NOIP2017提高A组冲刺11.6】拆网线
455. [NOIP2017提高A组冲刺11.6]拆网线 (File IO): input:tree.in output:tree.out Time Limits: 1000 ms Memory L ...
- JZOJ 5461. 【NOIP2017提高A组冲刺11.8】购物
5461. [NOIP2017提高A组冲刺11.8]购物 (File IO): input:shopping.in output:shopping.out Time Limits: 1000 ms ...
- [JZOJ5455]【NOIP2017提高A组冲刺11.6】拆网线
Description 企鹅国的网吧们之间由网线互相连接,形成一棵树的结构.现在由于冬天到了,供暖部门缺少燃料,于是他们决定去拆一些网线来做燃料.但是现在有K只企鹅要上网和别人联机游戏,所以他们需要把 ...
- 【NOIP2017提高A组冲刺11.8】好文章
#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> us ...
- 【NOIP2017提高A组冲刺11.6】拆网线
和syq大兄弟吐槽题目不小心yy出了正解.. 最优的选法就是选两个两个相互独立的,欸这不就是最大匹配吗?那多的企鹅就新加一条边呗?不够的就除以2上取整呗? 欸?AC了? 树也是一个二分图,最大匹配=最 ...
随机推荐
- Java第二次作业第三题
四叶玫瑰线的图形设计:当用鼠标拖拽改变窗口大小时,四叶玫瑰线会重新绘制 package naizi; import java.awt.*; import java.awt.event.*; impor ...
- 运行pytest,报错"AttributeError: 'module' object has no attribute 'xxx'"
最近学习pytest被此问题困扰,敲脑壳,实在是不该.百度解决方法一大堆,我的问题怎么也解决不了,来看一下,我是怎么解决的,各位大佬勿喷,只是自己做笔记用,谢谢. 报错信息如下: 网上解决方法是这样的 ...
- Docker学习之Dockerfile
通过编写简单的文件创建docker镜像 dockerfile 用来创建docker镜像. 格式 : FROM alpine:latest MAINTAINER XSW CMD echo "h ...
- 搭建Android+QT+OpenCV环境,实现“单色图片着色”效果
OpenCV是我们大家非常熟悉的图像处理开源类库:在其新版本将原本在Contrib分库中的DNN模块融合到了主库中,并且更新了相应文档.这样我们就能够非常方便地利用OpenCV实 ...
- 【linux】【mysql】mysql8.0开启远程访问及常见问题
1.连接数据库 [root@localhost ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands e ...
- Rsync 服务部署与参数详解
Rsync 简介 rsync 是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平台. 传统的 ...
- 抓住那只牛!Catch That Cow POJ-3278 BFS
题目链接:Catch That Cow 题目大意 FJ丢了一头牛,FJ在数轴上位置为n的点,牛在数轴上位置为k的点.FJ一分钟能进行以下三种操作:前进一个单位,后退一个单位,或者传送到坐标为当前位置两 ...
- redis分布式锁-WATCH锁(废弃)
使用watch构建锁的代码结构.(最着负载不断增加,系统完成一次加锁操作,重试次数不断加大) pine=conn.pineline while pine.watch if xxx pine.unwat ...
- 国庆佳节第四天,谈谈我月收入增加 4K 的故事
01.起承 在我下定决心改变的这将近 1 年的时间里,遇到了很多很多有故事的人,以及有趣的事.自我的认知改变特别大!尤其是收入,比去年同时期增加了 4K. 4K,可能也就买 100 斤猪肉.但是对于身 ...
- Maven中jar包冲突的解决方式
现象 创建一个maven工程,引入spring-context包. <dependency> <groupId>org.springframework</groupId& ...