T565980 「PA Mashup #1」机器人

题目描述

有 $n$ 个区域,编号 $1\sim n$。编号 $1\sim b$ 的区域是**基地**。 给定 $n$ 个非空集合 $A_1,A_2,\cdots,A_n$。 有 $r$ 个机器人在区域里。第 $i$ 个机器人的初始位置为 $s_i$。 你可以下达任意次移动指令。每次指令下达后,设第 $i$ 个机器人的位置为 $x_i$,则第 $i$ 个机器人会**等概率独立随机**地移动到 $A_{x_i}$ 中的任意一个地点。 是否存在一个非负整数 $k$,使得下达 $k$ 次指令后,每个机器人都**一定**回到基地(即位于编号 $1\sim b$ 的基地中)?找到满足条件的**任意一个** $k$。 保证如果存在 $k$,则 $k$ 的最小值严格小于 $10^{200}$。

输入格式

第一行三个正整数 $n,b,r$。 接下来 $n$ 行,第 $i$ 行一个长度为 $n$ 的 $\texttt{01}$ 串 $a_{i,j}$。$a_{i,j}=1 \iff j\in A_i$。 第 $(n+2)$ 行,$r$ 个递增的正整数 $s_1,\ldots,s_r$。

输出格式

如果存在这样的 $k$,输出一行一个非负整数 $k$;否则输出一行一个 $\texttt{-1}$。 评测时将忽略多余的前导零。**保证**在输出的 $k$ 不大于 $10^{2000}$ 时可以正常评测。过大的 $k$ 将可能导致 SPJ 超时从而 UKE。 保证如果存在 $k$,则 $k$ 的最小值严格小于 $10^{200}$。

说明/提示

- $2\le n\le 200$; - $1\le b,r\le n$; - $1\le s_1\lt s_2\lt \ldots \lt s_r \le n$。 保证如果存在 $k$,则 $k$ 的最小值严格小于 $10^{200}$。