样例全过,却爆0了!!!
查看原帖
样例全过,却爆0了!!!
557669
20100202w楼主2022/6/7 18:01
#include<iostream>
#include<cstdio>
using namespace std;
char a[505][505];
int n,b[505][505],m;
int dx[4]={1,-1,0,0},dy[4]={0,0,-1,1};  
void dfs(int x,int y)
{
	for(int i=0;i<4;i++)
	{
		int xx=x+dx[i];
		int yy=y+dy[i];
		if(xx<=n&&xx>=1&&yy<=m&&yy>=1&&b[xx][yy]==0)
		{
			b[xx][yy]=1;
			dfs(xx,yy);
		}
	}
} 
int main()
{
	int ans=0;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
		scanf("%s",(a[i]+1));
		for(int j=1;j<=m;j++)		
			if(a[i][j]=='*')b[i][j]=1;
			else b[i][j]=0;
	}
	dfs(1,1);
	for(int i=1;i<=n;i++)
   	{
   		for(int j=1;j<=m;j++)
   			if(!b[i][j])ans++;   			
    }
    cout<<ans;
    return 0;
}

为什么爆0了???

2022/6/7 18:01
加载中...