r,s=map(int,input().split()) b=[] for x in range(r): b.append(list(input())) # print(b) d=[(-1,0),(1,0),(0,-1),(0,1)] res=[] res.append(b[0][0]) maxr=0 def dfs(x,y): global res,maxr if maxr<len(res): maxr=len(res) for k in d: if 0<=x+k[0]<r and 0<=y+k[1]<s: if b[x+k[0]][y+k[1]] not in res: res.append(b[x+k[0]][y+k[1]]) dfs(x+k[0],y+k[1]) res.pop() dfs(0,0) print(maxr)
0.0分
1 人评分
【回文数(二)】 (C++代码)浏览:873 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:645 |
Tom数 (C++代码)浏览:828 |
C语言训练-数字母 (C语言代码)浏览:585 |
妹子杀手的故事 (C语言代码)浏览:1232 |
WU-输出正反三角形 (C++代码)浏览:1019 |
WU-陶陶摘苹果2 (C++代码)浏览:973 |
三角形 (C语言代码)浏览:914 |
C语言考试练习题_保留字母 (C语言代码)浏览:712 |
循环入门练习6 (C语言代码)浏览:968 |