题号:NC21351
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
定义二进制矩阵为每个元素都是0或者1的矩阵
现在有一个二进制矩阵,但是有些格子缺失了,用 '?'表示
现在知道这个矩阵每行的信息
并且知道矩阵每列的信息,但是不知道具体这些列是对应这个矩阵的哪一列
给每个缺失的格子补上后,求满足条件的字典序最小的二进制矩阵
矩阵的字典序为将每行的字符拼接后的字符串代表的字典序
输入描述:
第一行输入两个整数n,m表示二进制矩阵的行数和列数(1 ≤ n,m ≤ 30)
接下来n行每行m个字符,第i行描述矩阵的第i行的信息
接下来m行每行n个字符,第i行描述矩阵某一列的信息
输出描述:
输出一个字符矩阵表示字典序最小的矩阵
示例4
输入
复制
4 3
??0
11?
?01
1?1
1???
?111
0?1?
备注:
子任务1: n*m <= 25
子任务2: n*m <= 100
子任务3: 无限制