哪错了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
查看原帖
哪错了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
700478
ZHOUJIECHEN楼主2023/5/31 21:06
using namespace std;
char a[111][111];
struct c{
	int x,y; 
};
int n,m,ans; 
queue<c> q;
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[j][i];
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(a[j][i]!='.')
			{
				c tmp={j,i};
				q.push(tmp);
				while(!q.empty())
				{
					int ux=q.front().x;
					int uy=q.front().y;
					q.pop();
					if(a[ux+1][uy]=='w')
					{
						c tmp={ux+1,uy};
						q.push(tmp);
						a[ux+1][uy]='.';
					}
					if(a[ux-1][uy]=='w')
					{
						c tmp={ux-1,uy};
						q.push(tmp);
						a[ux-1][uy]='.';
					}
					if(a[ux][uy+1]=='w')
					{
						c tmp={ux,uy+1};
						q.push(tmp);
						a[ux][uy+1]='.';
					}
					if(a[ux][uy-1]=='w')
					{
						c tmp={ux,uy-1};
						q.push(tmp);
						a[ux][uy-1]='.';
					}
					if(a[ux+1][uy+1]=='w')
					{
						c tmp={ux+1,uy+1};
						q.push(tmp);
						a[ux+1][uy+1]='.';
					}
					if(a[ux-1][uy-1]=='w')
					{
						c tmp={ux-1,uy-1};
						q.push(tmp);
						a[ux-1][uy-1]='.';
					}
					if(a[ux-1][uy+1]=='w')
					{
						c tmp={ux-1,uy+1};
						q.push(tmp);
						a[ux-1][uy+1]='.';
					}
					if(a[ux-1][uy-1]=='w')
					{
						c tmp={ux-1,uy-1};
						q.push(tmp);
						a[ux-1][uy-1]='.';
					}
											
				}
				ans++;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cout<<a[j][i];
		}
		cout<<endl;
	}
	cout<<ans;
}```
2023/5/31 21:06
加载中...