#include #include FILE* fp; int numCaso; int w,h,np[3000]; char c[51][51]; int numd[51][51]; int le() { int x,y; char d; numCaso++; fscanf(fp,"%d %d",&w,&h); for(x=0;x<=3000;x++) np[x]=0; if ((w==0)&&(h==0)) return 0; for(y=0;y=w)||(y>=h)) return; if ((c[x][y]=='*')||(c[x][y]=='X')){ if (c[x][y]=='X') numd[x][y]=nd; c[x][y]='.'; apaga(nd,x+1,y); apaga(nd,x-1,y); apaga(nd,x,y+1); apaga(nd,x,y-1); } } void diz(int nd, int x, int y){ if((x<0)||(y<0)||(x>=w)||(y>=h)) return; if (numd[x][y]==nd){ numd[x][y]=-1; diz(nd,x+1,y); diz(nd,x-1,y); diz(nd,x,y+1); diz(nd,x,y-1); } } void resolve(){ int x,y,nd,aux,n; nd=0; for (x=0;xnp[y]){ aux=np[x]; np[x]=np[y]; np[y]=aux; } printf("Throw %d\n",numCaso); for (x=0;x