任务:编写一个能搜索单词的程序。
要求:要求能在竖线、横和斜线方向上实现搜索单词的功能。
说明:
输入行大小、列大小、然后输入字母表、然后输入单词
测试输入:
4 4
a b c e
a f c s
a d e e
a d e e
fa
预期输出:True
测试输入:
4 4
a b c e
a f c s
a d e e
a d e e
dt
预期输出:False
代码:
searchword.py
def exist(board, word):
for i in range(len(board)):
for j in range(len(board[0])):
if judger(board,i,j,word,0):
return True
return False
def judger(board,i,j,word,index):
if index == len(word):
return True
if i < 0 or i >= len(board) or j < 0 or j >= len(board[0]) or board[i][j] != word[index]:
return False
board[i][j] = "*"
Judge = judger(board,i+1,j,word,index+1) or judger(board,i,j+1,word,index+1) or \
judger(board,i-1,j,word,index+1) or judger(board,i,j-1,word,index+1) or \
judger(board,i+1,j+1,word,index+1) or judger(board,i-1,j+1,word,index+1) or \
judger(board,i+1,j-1,word,index+1) or judger(board,i-1,j-1,word,index+1)
board[i][j] = word[index]
return Judge
searchword_test.py
from searchword import *
if __name__ == "__main__":
n = int(input())
m = int(input())
line = [[0] * m] * n
for i in range(n):
line[i] = input().split(" ")
word = input()
print(exist(line, word))