#include <iostream>
#include <cstdio>
using namespace std;
int n,m;
char a[11][11];
int b[4][2]={{-1,0},{0,-1},{1,0},{0,1}};
int vis[11][11];
int sum=0;
void dfs(int x,int y)
{
if(a[x][y]=='T')
{
sum++;
return;
}
vis[x][y]=1;
for(int i=0;i<4;i++)
{
int xx=x+b[i][0];
int yy=y+b[i][1];
if((xx>=0&&xx<n)&&(yy>=0&&yy<m)&&a[xx][yy]!='#'&&vis[xx][yy]==0)
{
dfs(xx,yy);
}
}
vis[x][y]=0;//取消访问标记
}
int main()
{
cin>>n>>m;
int x,y;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>a[i][j];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(a[i][j]=='S')
{
dfs(i,j);
}
}
}
cout<<sum<<endl;
return 0;
}
计蒜客走迷宫
猜你喜欢
转载自blog.csdn.net/weixin_39903708/article/details/86135721
今日推荐
周排行