poj 1154
2014-12-10 20:31
239 查看
#include<stdio.h> #include<cstring> #include<iostream> using namespace std; const int N=30; char s ; int vis[100],num ,flag,maxn,n,m; int mov[4][2]={{0,1},{1,0},{0,-1},{-1,0}}; void dfs(int x,int y) { int i,j,k; int tx,ty; for(i=0;i<4;i++) { tx=x+mov[i][0]; ty=y+mov[i][1]; if(tx>=0&&tx<n&&ty>=0&&ty<m&&!vis[num[tx][ty]]) { vis[num[tx][ty]]=1; flag++; dfs(tx,ty); if(flag>maxn) maxn=flag; flag--; vis[num[tx][ty]]=0; } } } int main() { int i,j,k; while(cin>>n>>m) { for(i=0;i<n;i++) { scanf("%s",s[i]); for(j=0;j<m;j++) num[i][j]=s[i][j]-'A'+1; } flag=1,maxn=1; vis[num[0][0]]=1; dfs(0,0); cout<<maxn<<endl; } return 0; }
相关文章推荐
- poj_1154_回溯基础题
- POJ 2462 / HDU 1154 Cutting a Polygon
- poj 1154 LETTERS
- poj 1154
- POJ 1154 LETTERS DFS+回溯
- POJ 1154 LETTERS DFS+回溯
- POJ2488 -- POJ1154-- DFS
- POJ 1154
- POJ1154(DFS回溯)
- poj 1154 dfs
- poj 1154 LETTERS(DFS水!)
- POJ 1154题解,此题不难理解方法就是DFS,属于水题。不过有一些细节要注意。
- poj 1154 LETTERS
- poj 1154(dfs深度优先遍历)
- POJ 1154 解题报告
- POJ 1154 LETTERS 笔记
- poj 1154 LETTERS
- POJ 2462 / HDU 1154 Cutting a Polygon
- hdu 1154 poj 2462 Cutting a polygon 计算几何
- poj1154(大水题)