匹配矩阵
题号:NC219031
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

两个矩阵一大一小,找一找小的矩阵在大的01矩阵中出现了几次。为了增加趣味性,若小矩阵中某个位置的元素为,那在和大矩阵的局部做匹配的时候,该位置不做要求。

注:当小矩阵分别旋转0,90,180,270度都有符合的时候皆属于不同的状况


输入描述:

第一行一个正整数 表示测试数据的组数

每组测试数据第一行有两个整数  表示大矩阵的长与宽

接下来给出一个列的矩阵

下一行有两个整数  表示小矩阵的长与宽

接下来给出一个列的矩阵

大矩阵只由两种数字组成,小矩阵由三种组成

输出描述:

每组测试数据输出一行,表示能够匹配的区域数
示例1

输入

复制
2
5 5
01010
10111
01011
01111
10111
2 3
11#
111
2 2
00
00
2 2
00
00

输出

复制
9
4