为什么第一个样例只能输入三行
  • 板块P1767 家族
  • 楼主hjh234155
  • 当前回复3
  • 已保存回复3
  • 发布时间2025/2/4 10:26
  • 上次更新2025/2/4 15:59:01
查看原帖
为什么第一个样例只能输入三行
1374713
hjh234155楼主2025/2/4 10:26
#include<bits/stdc++.h>
using namespace std;
string a[120];
int n,ret=0; 
int wei_x,wei_y;
int dx[5]={0,1,0,-1,0};
int dy[5]={0,0,1,0,-1};
bool check()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<int(a[i].size());j++)
		{
			if(a[i][j]>='a'&&a[i][j]<='z')
			{
				wei_x=i;
				wei_y=j;
				return true;
			}
		}
	}
	return false;
}
void abs(int x,int y)
{
	for(int i=1;i<=4;i++)
	{
		int d_x=x+dx[i];
		int d_y=y+dy[i];
		if(d_x>0&&d_x<=n&&d_y>=0&&d_y<int(a[d_x].size())&&a[d_x][d_y]!='*')
		{
			a[d_x][d_y]='*';
			abs(d_x,d_y);
		}
	}
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		getline(cin,a[i]);
		for(int j=0;j<int(a[i].size());j++)
		{
			if(a[i][j]==' ')
			{
				a[i][j]='*';
			}
		}
	}
	while(check()==true)
	{
		ret++;
		abs(wei_x,wei_y);
	}
	cout<<ret;
	return 0;
}  
2025/2/4 10:26
加载中...