求救
  • 板块P1767 家族
  • 楼主awask
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/9/5 21:51
  • 上次更新2023/11/5 13:40:08
查看原帖
求救
56398
awask楼主2020/9/5 21:51

大佬们帮我看看,为什么在自家电脑上没问题,但是到了luogu上评测不了

(野路子做法)

code:

#include<iostream>
#include<cstdio>
using namespace std;
char a[205][205];
int b[205][205];
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
int n,m,ans;
void dfs(int x,int y)
{
	//cout<<ans<<' '<<x<<' '<<y<<endl;
	if(b[x][y]==0)return; 
	b[x][y]=0;
	for(int i=0;i<=3;i++)
	{
		if(x+dx[i]>n||x+dx[i]<1||y+dy[i]>200||y+dy[i]<1)continue;
		dfs(x+dx[i],y+dy[i]);
	}
}
int main()
{
	cin>>n;
	for(int i=0;i<=n;i++)
	for(int j=1;j<=201;j++)
	{
		scanf("%c",&a[i][j]);
		if(a[i][j]=='\n')break; 
		if(a[i][j]==' '||a[i][j]=='*')b[i][j]=0;
		else b[i][j]=1;
	}
	//for(int i=0;i<=n;i++){for(int j=1;j<=20;j++)cout<<b[i][j];cout<<endl;}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=200;j++)
		{
			if(b[i][j]!=0)ans++,dfs(i,j);
		}
	cout<<ans;
	return 0;
}

QAQ

2020/9/5 21:51
加载中...