Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Solution {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- for (int a = 1; a <= 10; a++) {
- sc.nextInt();
- int[][] map = new int[100][100];
- int row = 1;
- int column = 1;
- int answer = 0;
- for (int b = 0; b < 100; b++) {
- String s = sc.next();
- for (int c = 0; c < 100; c++) {
- int i = Character.digit(s.charAt(c), 10);
- map[b][c] = i;
- if (map[b][c] == 2) {
- row = b;
- column = c;
- }
- }
- }
- Queue<Integer> q = new LinkedList<Integer>();
- q.add(row);
- q.add(column);
- while (!q.isEmpty()) {
- int r = q.poll();
- int c = q.poll();
- if (map[r][c] == 3) {
- answer = 1;
- break;
- }
- map[r][c] = 1;
- if (r + 1 < 100 && map[r + 1][c] != 1) {
- q.add(r + 1);
- q.add(c);
- }
- if (r - 1 >= 0 && map[r - 1][c] != 1) {
- q.add(r - 1);
- q.add(c);
- }
- if (c + 1 < 100 && map[r][c + 1] != 1) {
- q.add(r);
- q.add(c + 1);
- }
- if (c - 1 >= 0 && map[r][c - 1] != 1) {
- q.add(r);
- q.add(c - 1);
- }
- }
- System.out.println("#" + a + " " + answer);
- }
- sc.close();
- }
- }
Add Comment
Please, Sign In to add comment