#include char dot[100][100]; int map[100][100]; int m2[100][100]; int dres[10000]; void color(int i,int j, int num) { if ((dot[i][j]!='.')&&(map[i][j]==0)) { map[i][j]=num; color(i+1, j, num); color(i, j+1, num); color(i-1, j, num); color(i, j-1, num); } } void c2(int i,int j, int num) { if ((dot[i][j]=='X')&&(m2[i][j]==0)) { m2[i][j]=num; c2(i+1, j, num); c2(i, j+1, num); c2(i-1, j, num); c2(i, j-1, num); } } main() { int w,h; int i,j; ifstream ein("dice.in"); for (int kase = 1; ; kase++) { ein>>w>>h; if ((h==w)&&(h==0)) break; if (ein.fail()) break; for (i=0; i>dot[i][j]; int dnum = 0; for (i=1; i<=w; i++) for (j=1; j<=h; j++) { if ((dot[i][j]!='.')&&(map[i][j]==0)) { dnum++; color(i,j,dnum); } } for (i=0; i<=w+1; i++) for (j=0; j<=h+1; j++) m2[i][j]=0; for (i=0; idres[j]) { int dummy = dres[j]; dres[j]=dres[i]; dres[i]=dummy; } cout<<"Throw "<