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语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:760 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:702 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:566 |
C二级辅导-公约公倍 (C语言代码)浏览:537 |
字符串比较 (C语言代码)浏览:770 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:592 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1029 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1288 |
1415题求解浏览:681 |
核桃的数量 (C语言代码)浏览:874 |