全WA 求助
查看原帖
全WA 求助
816921
shengheng楼主2023/7/25 23:00
#include<bits/stdc++.h>

using namespace std;
int n,m,qwq[6]={0,-1,1,0,0},qaq[6]={0,0,0,-1,1},ans;
char a[501][501];
bool vis[501][501];
void dfs(int x,int y){
	for(int i=1;i<=4;i++){
		int nx=x+qwq[i],ny=y+qaq[i];
		if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&vis[nx][ny]==false&&(/*a[nx][ny]!='*'*/a[nx-1][ny]!='*'||a[nx+1][ny]!='*'||a[nx][ny-1]!='*'||a[nx][ny+1]!='*')){
			vis[nx][ny]=true;
			dfs(nx,ny);
		}
	}
}int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
    cout.tie(0);
    cin>>n>>m;
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>a[i][j];
    vis[1][1]=true;
	dfs(1,1);
    //dfs(n,1);
    //dfs(1,m);
    //dfs(n,m);
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(!vis[i][j]&&a[i][j]!='*')ans++;
    cout<<ans;
    /*for(int i=1;i<=n;i++){
		cout<<'\n';
		for(int j=1;j<=m;j++)cout<<vis[i][j];
	}*/
	return 0;
}

2023/7/25 23:00
加载中...