CF1063B求调
  • 板块灌水区
  • 楼主Xiaonanu
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/2/28 21:29
  • 上次更新2024/2/29 09:32:53
查看原帖
CF1063B求调
631943
Xiaonanu楼主2024/2/28 21:29

rt,#40WA

#include<bits/stdc++.h>
using namespace std;
struct node
{
	int x,y,r,c;
};
int n,m,r,c,x,y,ans;
char a[2005][2005];
bool b[2005][2005];
string s;
queue<node>q;
signed main()
{
	cin>>n>>m>>r>>c>>x>>y;
	for(int i=1;i<=n;i++)
	{
		cin>>s;
		for(int j=1;j<=m;j++)
			a[i][j]=s[j-1];		
	}
	q.push({x,y,r,c});
	b[r][c]=1;
	while(!q.empty())
	{
		int x=q.front().x,y=q.front().y,r=q.front().r,c=q.front().c;
		if(r>1&&a[r-1][c]=='.'&&b[r-1][c]==0)q.push({x,y,r-1,c}),b[r-1][c]=1;
		if(r<n&&a[r+1][c]=='.'&&b[r+1][c]==0)q.push({x,y,r+1,c}),b[r+1][c]=1;
		if(c<m&&y>0&&a[r][c+1]=='.'&&b[r][c+1]==0)q.push({x,y-1,r,c+1}),b[r][c+1]=1;
		if(c>1&&x>0&&a[r][c-1]=='.'&&b[r][c-1]==0)q.push({x-1,y,r,c-1}),b[r][c-1]=1;
		q.pop();
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
			if(b[i][j])ans++;
	}	
	cout<<ans;
}
2024/2/28 21:29
加载中...