Untitled
unknown
plain_text
a year ago
1.2 kB
6
Indexable
def count_pattern_occurrences(image, pattern, R, C, A, B):
count = 0
for i in range(R - A + 1):
for j in range(C - B + 1):
match = True
for x in range(A):
for y in range(B):
if pattern[x][y] != '?' and pattern[x][y] != image[i + x][j + y]:
match = False
break
if not match:
break
if match:
count += 1
return count
def main():
import sys
input = sys.stdin.read
data = input().splitlines()
index = 0
T = int(data[index])
index += 1
results = []
for _ in range(T):
R, C = map(int, data[index].split())
index += 1
image = [data[index + i] for i in range(R)]
index += R
A, B = map(int, data[index].split())
index += 1
pattern = [data[index + i] for i in range(A)]
index += A
occurrences = count_pattern_occurrences(image, pattern, R, C, A, B)
results.append(occurrences)
for result in results:
print(result)
if __name__ == "__main__":
main()
Editor is loading...
Leave a Comment