帮帮我,MLE了
  • 板块灌水区
  • 楼主LittleWin
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/2/5 11:44
  • 上次更新2023/10/24 01:39:04
查看原帖
帮帮我,MLE了
933247
LittleWin楼主2023/2/5 11:44
#include <bits/stdc++.h>		
using namespace std;
char a[108][108];		
bool a1[108][108];
int n,m,sum=0;		
int dfs(int x,int y){
	if(x<1||y<1||x>n||y>m){
		return 0; 
	}
	if(x==m&&y==m){
		return 1;
	}
	if(a1[x][y]){
		sum+=dfs(x+1,y);
		sum+=dfs(x+2,y);
		sum+=dfs(x-1,y);
		sum+=dfs(x-2,y);
		sum+=dfs(x,y+1);
		sum+=dfs(x,y+2);
		sum+=dfs(x,y-1);
		sum+=dfs(x,y-2);
		if(sum>0) return sum;
	}
	else{
		return 0;
	}
}
int main() {
	cin>>n>>m;		
	memset(a1,false,sizeof(a1));		
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
			if(a[i][j]=='0') a1[i][j]=true;
		}
	}
	if(dfs(1,1)==0) cout<<"Boom!"<<endl;
	else cout<<"Yes"<<endl;
	return 0;
}

https://www.luogu.com.cn/paste/l401jz19

https://www.luogu.com.cn/record/101490580

2023/2/5 11:44
加载中...