#include<stdio.h> int dir[4][2]={{0,1},{0,-1},{-1,0},{1,0}},r,c,count=0; char map[101][101]; void dfs(int x,int y) { if(map[x][y]==‘#‘||x<0||x>=r||y<0||y>=c) return; if(map[x][y]==‘p‘) count++; map[x][y]=‘#‘; int i; for(i=0;i<4;i++) dfs(x+dir[i][0],y+dir[i][1]); } int main() { int i,j; while(scanf("%d %d",&r,&c),r||c) { count=0; for(i=0;i<r;i++) scanf("%s",map[i]); for(i=0;i<r;i++) { for(j=0;j<c;j++) { if(map[i][j]==‘d‘) dfs(i,j); } } printf("%d\n",count); } return 0; }
原文地址:https://www.cnblogs.com/zzjam--1/p/11470277.html
时间: 2024-09-30 06:26:12