DFS求助%%%满江红QAQ样例都没过
查看原帖
DFS求助%%%满江红QAQ样例都没过
661595
a2lyaXNhbWUgbWFyaXNh楼主2022/7/30 09:04

别问我为啥不本地调试,问就是DevC++\texttt{DevC++}寄了,老是返回1\texttt{1}

#include<bits/stdc++.h>
using namespace std;
char brd[110][110];
bool vis[110][110];
int cnt;
int n,m;
void dfs(int i,int j){
	if(brd[i][j]>'9'||brd[i][j]<'1')//(玄学)边界/0判定 
		return;
	if(vis[i][j])//是否被访问过? 
		return;	
	vis[i][j]=1;	
	dfs(i+1,j);//枚举联通块 
	dfs(i-1,j);
	dfs(i,j+1);
	dfs(i,j-1);	
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			scanf("%c",&brd[i][j]);
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(brd[i][j]!='0'&&!vis[i][j]){
				dfs(i,j);
				cnt++;//计数器++
			}
		}
	}
	printf("%d",cnt);
	return 0;
}
2022/7/30 09:04
加载中...