import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { static char grid[][]; static boolean wasVisited[][]; public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String input; StringBuilder sb=new StringBuilder(1000); int testcase=0; while((input=br.readLine())!=null) { String s[]=input.split(" +"); int row=Integer.parseInt(s[0]); int column=Integer.parseInt(s[1]); if(row==0 && column==0) break; testcase++; grid=new char[row][column]; wasVisited=new boolean[row][column]; for (int i = 0; i < row; i++) { input=br.readLine().trim(); for (int j = 0; jrowlimit || column>columnlimit || row<0 || column<0 || wasVisited[row][column]==true) return 0; if(grid[row][column]==c) { count++; grid[row][column]='.'; wasVisited[row][column]=true; count+=floodfill(row-1,column,c,rowlimit,columnlimit); count+=floodfill(row,column-1,c,rowlimit,columnlimit); count+=floodfill(row,column+1,c,rowlimit,columnlimit); count+=floodfill(row+1,column,c,rowlimit,columnlimit); return count; } return 0; } } class Hole implements Comparable { char name; int count; public Hole(char n,int c) { name=n; count=c; } @Override public int compareTo(Hole h1) { if(this.count>h1.count) return -1; else if(this.count
0 comments: