求大佬们帮助,我这个不知道错在哪里,但感觉是没有问题的。。。。
查看原帖
求大佬们帮助,我这个不知道错在哪里,但感觉是没有问题的。。。。
284825
liuxinghuakong楼主2020/12/17 08:19
#include<iostream>
using namespace std;
int n,m,x,y,ans;
int a[35][35];
char arr[35][35];
int dx[]={1,1,-1,-1,0,1,-1,0};
int dy[]={1,-1,-1,1,1,0,0,-1};
void dfs(int i,int j)
{
	a[i][j]=1;
	for(int d=0;d<8;d++)
	{
		int xx=i+dx[i];
		int yy=j+dy[i];
		if(xx>0&&xx<=n&&yy>0&&a[xx][yy]==0&&a[xx][yy]=='X')
			dfs(xx,yy);
		if(d>3&&(xx<=0||xx>n||yy<=0||yy>m||a[xx][yy]!='X'))
			ans++;
	}
}
int main()
{
	cin>>n>>m>>x>>y;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			cin>>arr[i][j];
	dfs(x,y);
	cout<<ans;
	return 0;
 } 
2020/12/17 08:19
加载中...