为什么全部MLE?
  • 板块P1141 01迷宫
  • 楼主xuanye
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/7/23 19:44
  • 上次更新2023/11/4 13:32:05
查看原帖
为什么全部MLE?
478697
xuanye楼主2021/7/23 19:44
#include<bits/stdc++.h>
using namespace std;
int n,i,j,sum=0,b,c,k,m;
char a[1005][1005];
void ff(int p,int q){
	sum++;
	if(a[p][q]=='1'){
		a[p][q]=='o';
		if(p-1>=1&&a[p-1][q]=='0'){
			ff(p-1,q);
		}
		if(p+1<=n&&a[p+1][q]=='0'){
			ff(p+1,q);
		}
		if(q-1>=1&&a[p][q-1]=='0'){
			ff(p,q-1);
		}
		if(q+1<=n&&a[p][q+1]=='0'){
			ff(p,q+1);
		}
	}
	else{
		a[p][q]=='z';
		if(p-1>=1&&a[p-1][q]=='1'){
			ff(p-1,q);
		}
		if(p+1<=n&&a[p+1][q]=='1'){
			ff(p+1,q);
		}
		if(q-1>=1&&a[p][q-1]=='1'){
			ff(p,q-1);
		}
		if(q+1<=n&&a[p][q+1]=='1'){
			ff(p,q+1);
		}
	}
}
int main(){
	cin>>n>>m;
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			cin>>a[i][j];
		}
	}
	for(i=1;i<=m;i++){
		cin>>b>>c;
		ff(b,c);
		cout<<sum<<endl;
		sum=0;
		for(j=1;j<=n;j++){
			for(k=1;k<=n;k++){
				if(a[j][k]=='o'){
					a[j][k]='1';
				}
				else{
					a[j][k]='0';
				}
			}
		}
	}
	return 0;
}
2021/7/23 19:44
加载中...