UVA_784
这个题目是个相对容易的搜索题目,同时在搜索的过程中也无需再用vis数组标记是否访问过了,因为染过色就相当于访问过了。
#include#include int a[50][100],n; char b[100]; int dx[]={ -1,1,0,0},dy[]={ 0,0,-1,1}; void dfs(x,y) { int i,newx,newy; for(i=0;i<4;i++) { newx=x+dx[i]; newy=y+dy[i]; if(a[newx][newy]==1) { a[newx][newy]=3; dfs(newx,newy); } } } int main() { int i,j,k,t; gets(b); sscanf(b,"%d",&t); while(t--) { memset(a,-1,sizeof(a)); n=0; while(1) { gets(b); if(b[0]=='_') break; k=strlen(b); for(i=0;i