求助各位大佬,请问我的P1683的代码有什么问题,WA了八个点
  • 板块P1683 入门
  • 楼主冯梓佟
  • 当前回复0
  • 已保存回复0
  • 发布时间2020/10/5 11:44
  • 上次更新2023/11/5 11:58:28
查看原帖
求助各位大佬,请问我的P1683的代码有什么问题,WA了八个点
328374
冯梓佟楼主2020/10/5 11:44
#include<bits/stdc++.h>
using namespace std;
char a[100][100];
bool vis[100][100];
int ans=1;
int n,m;
bool check(int x,int y)
{
	if(x<1||x>m) return false;
	if(y<1||y>n) return false;
	if(vis[x][y]==false) return false;
	if(a[x][y]=='#') return false;
	return true;
}
void dfs(int x,int y)
{
	vis[x][y]=false;
	for(int i=-1;i<=1;i++)
	{
		for(int j=-1;j<=1;j++)
		{
			int nx=x+i;
			int ny=y+j;
			if(check(nx,ny)==true)
			{
				vis[nx][ny]=false;
				ans+=1;
				dfs(nx,ny);
			}
		}
	}
}
int main()
{
	cin>>n>>m;
	int startx;
	int starty;
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			vis[i][j]=true;
			if(a[i][j]=='@')
			{
			  startx=i;
			  starty=j;	
			}
		}
	}
	dfs(startx,starty);
	cout<<ans<<endl;
   return 0;
}

2020/10/5 11:44
加载中...