POJ-1979 Red and Black

来源:互联网 发布:qt5.7串口编程实例 编辑:程序博客网 时间:2024/06/06 17:30

dfs简单应用

#include<iostream>#include<cstring>#include<stack>#include<queue>#define MAX 21using namespace std;int ans;char a[MAX][MAX];void dfs(int x,int y){ans++;//每搜索一个点,次数加1,最后输出总的搜索次数就是有多少个’.‘a[x][y]='6';//把已经搜索过的点替换掉,下次就不会再搜这个点了if(a[x+1][y]=='.') dfs(x+1,y);if(a[x-1][y]=='.') dfs(x-1,y);if(a[x][y+1]=='.') dfs(x,y+1);if(a[x][y-1]=='.') dfs(x,y-1);}int main(){int W,H;int tx,ty;while(cin>>W>>H&&W&&H){memset(a,0,sizeof(a));for(int i=0;i<H;i++){for(int j=0;j<W;j++){cin>>a[j][i];if(a[j][i]=='@'){tx=j;ty=i;}//记录@的位置}}ans=0;dfs(tx,ty);cout<<ans<<endl;}return 0;} 

0 0
原创粉丝点击