TLE......
  • 板块P1141 01迷宫
  • 楼主skyark1214
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/4/9 15:43
  • 上次更新2023/10/28 04:11:38
查看原帖
TLE......
577422
skyark1214楼主2022/4/9 15:43
#include<iostream>
using namespace std;
char a[1005][1005];
bool aa[1005][1005];
int d=0;
void sou(int i,int j) {
	d++;
	aa[i][j]=true;
	if(a[i][j]=='1') {
		if(a[i+1][j]=='0'&&(!(aa[i+1][j]))) {
			sou(i+1,j);
		}
		if(a[i-1][j]=='0'&&(!(aa[i-1][j]))) {
			sou(i-1,j);
		}
		if(a[i][j+1]=='0'&&(!(aa[i][j+1]))) {
			sou(i,j+1);
		}
		if(a[i][j-1]=='0'&&(!(aa[i][j-1]))) {
			sou(i,j-1);
		}
	}
	if(a[i][j]=='0') {
		if(a[i+1][j]=='1'&&(!(aa[i+1][j]))) {
			sou(i+1,j);
		}
		if(a[i-1][j]=='1'&&(!(aa[i-1][j]))) {
			sou(i-1,j);
		}
		if(a[i][j+1]=='1'&&(!(aa[i][j+1]))) {
			sou(i,j+1);
		}
		if(a[i][j-1]=='1'&&(!(aa[i][j-1]))) {
			sou(i,j-1);
		}
	}
}
int main() {
	int m,i,j;
	int n;
	cin>>n;
	cin>>m;
	for(int l=1; l<=n; ++l) {
		for(int z=1; z<=n; ++z) {
			cin>>a[l][z];
		}
	}
	for(int k=1; k<=m; ++k) {
		cin>>i>>j;
		sou(i,j);
		cout<<d<<endl;
		d=0;
		for(int l=1; l<=n; ++l) {
			for(int z=1; z<=n; ++z) {
				aa[l][z]=false;
			}
		}
	}
	return 0;
}
2022/4/9 15:43
加载中...