本题为核桃:
本题用到深搜:
#include<bits/stdc++.h>
using namespace std;
int sum=1,n=1,m=1,flag,dir[4][2]={{-1,0},{0,1},{1,0},{0,-1}},x,y;
int a[51][51];
void dfs(int x,int y){
for(int i=0;i<4;i++){
int dx=x+dir[i][0];
int dy=y+dir[i][1];
if(0<=dx&&dx<n&&0<=dy&&dy<m&&a[dx][dy]==1){
a[dx][dy]=2;
sum++;
dfs(dx,dy);
}
}
}
int main(){
sum=1;
scanf("%d %d",&n,&m);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
if(a[i][j]==6){
x=i;
y=j;
}
}
}
dfs(x,y);
printf("%d",sum);
return 0;
}