为什么我输入输出对的,他说我是错的
查看原帖
为什么我输入输出对的,他说我是错的
303105
haiming楼主2021/7/28 18:31
#include<bits/stdc++.h>
using namespace std;
int n,m,i,j,s,a[2000][2000];char c;
void sc(int x,int y){
	if(a[x][y]==0||x<1||x>n||y<1||y>m) return;
	a[x][y]=0;
	sc(x+1,y);sc(x-1,y);sc(x,y+1);sc(x,y-1);
}
int main(){
//	freopen("cell.in","r",stdin);
//	freopen("cell.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++){
		getchar();
		for(j=1;j<=m;j++){
			scanf("%c",&c);
			if(c=='0') a[i][j]=0;
			else a[i][j]=1;
		}
	}
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			if(a[i][j]==1){
				sc(i,j);s++;
			}
	printf("%d\n",s);
	return 0;
}

为啥

2021/7/28 18:31
加载中...