Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.2 kB
1
Indexable
import java.util.Scanner;


public class LaughingBomb {
	static int n,m, x, y;
	static final int MAX = 100;
	static int[][] Map = new int[MAX][MAX];
	static int[][] visited = new int[MAX][MAX];
	static int[] rspin = {0,0,1,-1};
	static int[] cspin = {1,-1,0,0};
	static int d, max;
	
	static void check(int i, int j){
		if(visited[i][j] < d) {
			visited[i][j] += d;
		}
		for(int k = 0; k < 4; k++){
			int new_r = i + rspin[k];
			int new_c = j + cspin[k];
			if(new_r >= 0  && new_r < n && new_c >= 0 && new_c < n  
					&& Map[new_r][new_c] == 1){
				d++;
				check(new_r, new_c);
			}
		}
		d -= 1;
	}
	
	public static void main(String agr[]){
		Scanner sc = new Scanner(System.in);
		int t = sc.nextInt();
		for(int test_case = 1; test_case <= t; test_case++){
			n = sc.nextInt();
			m = sc.nextInt();
			for(int i = 0; i< n; i++){
				for(int j = 0; j< m; j++){
					Map[i][j] = sc.nextInt();
				}
			}
			x = sc.nextInt();
			y = sc.nextInt();
			check(x,y);
			max = visited[0][0];
			for(int i = 0; i< n; i++){
				for(int j = 0; j< m; j++){
					if(Map[i][j] == 1 && max < visited[i][j]){
						max = visited[i][j];
					}
				}
			}
		}
	}
	
}