from collections import defaultdict
def check_match(submatrix, pattern):
char_to_digit = {}
digit_to_char = defaultdict(set)
for i in range(len(pattern)):
for j in range(len(pattern[0])):
if pattern[i][j].isdigit():
if submatrix[i][j] != int(pattern[i][j]):
return False
else:
if pattern[i][j] in char_to_digit:
if submatrix[i][j] != char_to_digit[pattern[i][j]]:
return False
else:
char_to_digit[pattern[i][j]] = submatrix[i][j]
digit_to_char[submatrix[i][j]].add(pattern[i][j])
# Check if two distinct letters correspond to different digits
for chars in digit_to_char.values():
if len(chars) > 1:
return False
return True
def solution(board, pattern):
rows_board, cols_board = len(board), len(board[0])
rows_pattern, cols_pattern = len(pattern), len(pattern[0])
for i in range(rows_board - rows_pattern + 1):
for j in range(cols_board - cols_pattern + 1):
submatrix = [[board[x][y] for y in range(j, j + cols_pattern)] for x in range(i, i + rows_pattern)]
if check_match(submatrix, pattern):
return [i, j]
return [-1, -1]
# Test the function with the given example
board=[[2,4,2,4,2],
[4,1,4,2,5],
[1,4,2,2,3]]
pattern=[["b","2"],
["a","a"]]
result = solution(board, pattern)
print(result)
To embed this project on your website, copy the following code and paste it into your website's HTML: