AcWing 1111. 字母
原题链接
简单
作者:
三鹤亥一
,
2025-04-01 13:30:35
· 山东
,
所有人可见
,
阅读 1
import sys
r, s = map(int, sys.stdin.readline().split())
N = 25
g = [[" "] * N for i in range(N)]
for i in range(r):
row = input()
for j in range(s):
g[i][j] = row[j]
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
st = [False] * 30
ans = 0
def dfs(x, y, count):
global ans
ans = max(ans, count)
for i in range(4):
a = x + dx[i]
b = y + dy[i]
t = ord(g[a][b]) - ord('A')
if 0 <= a < r and 0 <= b < s and not st[t]:
st[t] = True
dfs(a, b, count + 1)
st[t] = False
st[ord(g[0][0]) - ord('A')] = True
dfs(0, 0, 1)
print(ans)