求助,此代码为什么会崩溃?
  • 板块学术版
  • 楼主andygao
  • 当前回复8
  • 已保存回复8
  • 发布时间2022/7/30 09:25
  • 上次更新2023/10/27 17:45:56
查看原帖
求助,此代码为什么会崩溃?
542705
andygao楼主2022/7/30 09:25

下面这串代码为什么一运行就崩溃?

#include <bits/stdc++.h>
using namespace std;
int N,M;
char c[109][109];
bool v[109][109];
int dx[] = {1,0,-1,0,1,-1,-1,-1},dy[] = {0,1,0,-1,1,1,-1,1};
void dfs(int x,int y){
	v[x][y] = true;
	if(c[x][y]!='W'){
		return;
	}
	for(int i = 0;i<8;i++){
		int nx = x+dx[i],ny = y+dy[i];
		if(nx<1||nx>N||ny<1||ny>M){
			continue;
		}
		if(c[nx][ny]=='.'){
			continue;
		}
		dfs(nx,ny);
	}
}
int main(){
	cin>>N>>M;
	for(int i = 1;i<=N;i++){
		for(int j = 1;j<=M;j++){
			cin>>c[i][j];
		}
	}
	int ans = 0;
	for(int i = 1;i<=N;i++){
		for(int j = 1;j<=M;j++){
			if(c[i][j]=='W'&&!v[i][j]){
				ans++;
				dfs(i,j);
			}
		}
	}
	cout<<ans;
}
2022/7/30 09:25
加载中...