测试,测试ing

下面是洛谷某道题目的题解
P1451求细胞数量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=205;
ll n,m,a[N][N];
ll dx[8]={0,-1,0,1,0},dy[8]={0,0,1,0,-1};
void dfs(ll x,ll y){
if(x<0||y<0||x>n+1||y>n+1||a[x][y]==1||a[x][y]==2) return;
a[x][y]=2;
for(int i=1;i<=4;i++) dfs(x+dx[i],y+dy[i]);
}
int main(){
scanf("%lld",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
scanf("%lld",&a[i][j]);
dfs(0,0);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]==2) printf("0 ");
if(a[i][j]==1) printf("1 ");
if(a[i][j]==0) printf("2 ");
}
printf("\n");
}
}