AT_jsc2019_final_b Reachability
题目描述
高桥君从青木君那里获得了一个有向图,这个图包含 $3N$ 个顶点。这些顶点分别命名为 $x_0, x_1, \cdots, x_{N-1}, y_0, y_1, \cdots, y_{N-1}, z_0, z_1, \cdots, z_{N-1}$。图中的边有两种类型:一种是从 $x$ 顶点指向 $y$ 顶点,另一种是从 $y$ 顶点指向 $z$ 顶点。注意,图中不允许存在重边。
在玩耍过程中,高桥君记下了 $2N$ 个字符串,这些字符串分别是 $A_0, A_1, \cdots, A_{N-1}$ 和 $B_0, B_1, \cdots, B_{N-1}$,且它们满足以下条件:
- 字符串 $A_i$ 的第 $j$ 个字符为 `1`,表示从顶点 $x_i$ 到顶点 $y_j$ 存在一条边;如果为 `0`,则表示不存在这样的边。
- 字符串 $B_i$ 的第 $j$ 个字符为 `1`,表示从顶点 $x_i$ 到顶点 $z_j$ 存在一条路径;如果为 `0`,则表示不存在这样的路径。
然而,由于意外,他把这个图破坏了,不过他依然记得这些字符串。现在,请你帮他找出一种可能的原始图。如果无法找到符合条件的图,请指出这一点。
输入格式
输入包括以下内容:
- 一个整数 $N$
- 接下来是 $N$ 个字符串 $A_0, A_1, \cdots, A_{N-1}$
- 然后是 $N$ 个字符串 $B_0, B_1, \cdots, B_{N-1}$
每个字符串的长度都是 $N$,且仅由 `0` 和 `1` 组成。
输出格式
如果无法构造出一个符合条件的原始图,输出 `-1`。
如果能够构造出这样的图,则输出从 $y$ 顶点到 $z$ 顶点的边信息,每行为一个 $N$ 长度的字符串,表示从一个 $y$ 顶点到所有 $z$ 顶点的边,`1` 表示有边,`0` 表示没有。
如果有多个符合条件的方案,输出其中任意一个均视作正确答案。
说明/提示
- $1 \leq N \leq 300$
- 每个 $A_i$ 和 $B_i$ 都是一个长度为 $N$ 的二进制字符串。
**本翻译由 AI 自动生成**