P1683入门 蒟蒻求助!!!
  • 板块P1683 入门
  • 楼主一铭君一
  • 当前回复13
  • 已保存回复13
  • 发布时间2020/6/28 11:27
  • 上次更新2023/11/6 23:57:54
查看原帖
P1683入门 蒟蒻求助!!!
307143
一铭君一楼主2020/6/28 11:27

这个题咋回事啊?

我写了一个广搜但是听取WA声一片。。。然后我把第一个数据点下载下来了,跑了一遍发现答案是一样的啊?但是就是过不了我也不知道为什么

有没有大佬救救孩子,下面是蒟蒻代码

#include<cstdio>
#include<queue>
#define N 30
using namespace std;
int mapp[N][N],m,n,stx,sty,step;
int go[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
queue< pair<int,int> >q;
void bfs(int x,int y)
{
	mapp[x][y]=1;
	step++;
	q.push(make_pair(x,y));
	while(q.size()!=0)
	{
		int qx=q.front().first,qy=q.front().second;
		q.pop();
		mapp[qx][qy]=1;
		for(int i=0;i<4;i++)
		{
			int tx=qx+go[i][0],ty=qy+go[i][1];
			if(mapp[tx][ty]==1||tx<1||tx>n||ty<1||ty>m) continue;
			mapp[tx][ty]=1;
			step++;
			q.push(make_pair(tx,ty));
		}
	}
}
int main()
{
	scanf("%d%d",&m,&n);
	for(int i=1;i<=n;i++)
		for(int j=0;j<=m;j++)
		{
			char dd;
			scanf("%c",&dd);
			if(dd=='@')
				stx=i,sty=j;
			if(dd=='#')
				mapp[i][j]=1;
		}
	bfs(stx,sty);
	printf("%d",step);
	return 0;
}
2020/6/28 11:27
加载中...