#ABC291F. 传送门与封锁
传送门与封锁
传送门与封锁
题目描述
有 个城市,编号为城市 、城市 、……、城市 。
还有一些单向传送门,可以将你送到不同的城市。 从城市 是否能直接传送到其他城市,由长度为 的、由 0 和 1 组成的字符串 表示。具体地,对于 :
- 如果 且 的第 个字符为 1,则存在从城市 直接传送到城市 的传送门;
- 否则,不存在从城市 直接传送到城市 的传送门。
对每个 ,解决以下问题:
能否通过反复使用传送门,在不经过城市 的情况下从城市 到达城市 ? 如果能够到达,输出需要使用传送门的最少次数;否则输出 。
输入格式
输入按以下格式从标准输入给出:
输出格式
在一行中输出 个用空格分隔的整数。
第 个整数 应为 时问题的答案。
样例
5 2
11
01
11
10
00
2 3 2
传送门可以将你
- 从城市 送到城市 和 ;
- 从城市 送到城市 ;
- 从城市 送到城市 和 ;
- 从城市 送到城市 ;
- 从城市 无法传送到任何城市。
因此,从城市 到城市 共有三条路径:
- 路径 1:城市 城市 城市 城市 ;
- 路径 2:城市 城市 城市 城市 ;
- 路径 3:城市 城市 城市 。
在这些路径中,
不经过城市 的路径有路径 2 和路径 3 两条。其中,路径 3 使用传送门的次数最少(两次)。
不经过城市 的路径只有路径 1。它需要使用三次传送门。
不经过城市 的路径只有路径 3。它需要使用两次传送门。
因此,应输出用空格分隔的 、、。
6 3
101
001
101
000
100
000
-1 3 3 -1
从城市 到城市 的唯一路径是城市 城市 城市 城市 。
对于 ,不经过城市 时无法从城市 到达城市 。
对于 ,上述路径满足条件;它需要使用三次传送门。
因此,应输出用空格分隔的 、、、。
注意传送门是单向的; 传送门可以从城市 送到城市 , 但不能从城市 送到城市 。
因此,例如以下路径是无效的: 城市 城市 城市 城市 。
数据范围
- 是由 0 和 1 组成的长度为 的字符串。
- 如果 ,则 的第 个字符为 0。
- 和 是整数。
难度
提高+/省选
通过率
—
尝试
0
已通过
0
- ID
- 2629
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者