题目描述
暑假培训的时候,yehr突发奇想,让他的学生们玩一个游戏,以此让他们认识到当天所教专题的强大。游戏是这样的:
在一个n*m的矩阵中,每个位置pos[i][j]都存有一个值,要么是0,要么是1,然后再给你一个更大的01矩阵(a*b, a >= n && b >= m)。问你是否可以通过从大的矩阵中抽取一些行和一些列而得到一张与m*n一样的矩阵。
例如 m = 2, n = 2的小矩阵
01
10
3*3的大矩阵
001
011
100
你可通过抽去大矩阵的第二行和第二列而得到
01
10
的小矩阵。
Yehr希望他的学生们以最快的速度判断出是否可以通过抽去大矩阵的一些行和一些列而得到与小矩阵一样的矩阵。
对于小的矩阵大家可能很快可以做出判断,但是一旦矩阵大了就不好办了,你的任务就是编一个程序,来快速判断结果。
输入
第一行n,m
接下来n行是m*n的矩阵(0 1之间没有空格)
第n+2行
a, b
接下来a行
是a*b的01矩阵
1 <=a, b, m, n <= 20
最后以n = 0, m = 0结束
(注意两个测试数据之间可能有多个空行,用scanf读)
输出
如果可以通过抽去大矩阵的一些行和一些列得到小的矩阵,则输出Yes,否则输出No
2 2
01
10
3 3
001
011
100
0 0