Submission #420857


Source Code Expand

import java.util.Arrays;
import java.util.Scanner;


public class Main {

    int[] dy = {0,1,-1,0};
    int[] dx = {1,0,0,-1};
    void doIt() {
        Scanner sc = new Scanner(System.in);
        int H = sc.nextInt();
        int W = sc.nextInt();
        
        map = new char[H+2][W+2];
        
        for(int i = 0; i < H+2;i ++) {
            Arrays.fill(map[i],'#');
        }
        int sy = 0;
        int sx = 0;

        for(int i = 1 ; i <= H; i++) {
            char[] c = sc.next().toCharArray();
            for (int j = 1; j <=W; j++) {
                map[i][j] = c[j-1];
                if(c[j-1] == 's') {
                    sy = i;
                    sx = j;
                }
            }
        }

        work = new int[H+2][W+2];
        System.out.println(dfs(sy, sx) ? "Yes" : "No");
    }
    
    
    char[][] map;
    int[][] work;
    
    boolean dfs(int y, int x) {
        
        if (map[y][x] == '#') {
            return false;
        } else if (work[y][x] == 0) {
            return false;
        } else if(map[y][x] == 'g') {
            return true;
        }
        
        work[y][x] = 1 ;
        
        boolean result = false;
        for(int i = 0; i < 4; i++) {
            result |= dfs(y + dy[i], x + dx[i]);
        }
        return result;
    }

    void doIt2() {
        Scanner sc = new Scanner(System.in);
        
        int N = sc.nextInt();
        int Q = sc.nextInt();
        
        int[] indexes = new int[N];
        for(int i = 0; i < N; i++) {
            indexes[i] = i;
        }
        
        for(int i = 0; i < Q; i++) {
           int p = sc.nextInt();
           int t1 = indexes[sc.nextInt()];
           int t2 = indexes[sc.nextInt()];
           
           int learge = Math.max(t1, t2);
           int small = Math.min(t1, t2);
           
           if(p == 0) {
               indexes[learge] = small;
           } else {
               
               if(getHead(indexes, learge) == getHead(indexes, small)) {
                   System.out.println("Yes");
               } else {
                   System.out.println("No");
               }
               
           }
           
        }
        
    }
    
    int getHead(int[] indexes, int pos) {
        if(indexes[pos] == pos) {
            return pos;
        }
        return indexes[pos] = getHead(indexes, indexes[pos]);
       
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new Main().doIt();
    }

}

Submission Info

Submission Time
Task A - 深さ優先探索
User tochukaso
Language Java (OpenJDK 1.7.0)
Score 0
Code Size 2638 Byte
Status WA
Exec Time 573 ms
Memory 30400 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 3
WA × 2
AC × 69
WA × 14
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt
All 00_min_01.txt, 00_min_02.txt, 00_min_03.txt, 00_min_04.txt, 00_min_05.txt, 00_min_06.txt, 00_min_07.txt, 00_min_08.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_rndhard_00.txt, 02_rndhard_01.txt, 02_rndhard_02.txt, 02_rndhard_03.txt, 02_rndhard_04.txt, 02_rndhard_05.txt, 02_rndhard_06.txt, 02_rndhard_07.txt, 02_rndhard_08.txt, 02_rndhard_09.txt, 02_rndhard_10.txt, 02_rndhard_11.txt, 02_rndhard_12.txt, 02_rndhard_13.txt, 02_rndhard_14.txt, 02_rndhard_15.txt, 02_rndhard_16.txt, 02_rndhard_17.txt, 02_rndhard_18.txt, 02_rndhard_19.txt, 02_rndhard_20.txt, 02_rndhard_21.txt, 02_rndhard_22.txt, 02_rndhard_23.txt, 02_rndhard_24.txt, 02_rndhard_25.txt, 02_rndhard_26.txt, 02_rndhard_27.txt, 02_rndhard_28.txt, 02_rndhard_29.txt, 02_rndhard_30.txt, 02_rndhard_31.txt, 02_rndhard_32.txt, 02_rndhard_33.txt, 02_rndhard_34.txt, 02_rndhard_35.txt, 02_rndhard_36.txt, 02_rndhard_37.txt, 02_rndhard_38.txt, 02_rndhard_39.txt, 03_rndhardsmall_00.txt, 03_rndhardsmall_01.txt, 03_rndhardsmall_02.txt, 03_rndhardsmall_03.txt, 03_rndhardsmall_04.txt, 03_rndhardsmall_05.txt, 03_rndhardsmall_06.txt, 03_rndhardsmall_07.txt, 03_rndhardsmall_08.txt, 03_rndhardsmall_09.txt
Case Name Status Exec Time Memory
00_min_01.txt WA 434 ms 23948 KB
00_min_02.txt AC 410 ms 23900 KB
00_min_03.txt AC 370 ms 23948 KB
00_min_04.txt AC 370 ms 23912 KB
00_min_05.txt WA 386 ms 23908 KB
00_min_06.txt AC 392 ms 23856 KB
00_min_07.txt AC 392 ms 23872 KB
00_min_08.txt AC 378 ms 23944 KB
00_sample_01.txt AC 399 ms 23816 KB
00_sample_02.txt WA 401 ms 23988 KB
00_sample_03.txt AC 396 ms 23864 KB
00_sample_04.txt WA 394 ms 23896 KB
00_sample_05.txt AC 397 ms 23860 KB
01_rnd_00.txt AC 545 ms 29644 KB
01_rnd_01.txt WA 555 ms 30000 KB
01_rnd_02.txt WA 515 ms 29724 KB
01_rnd_03.txt WA 507 ms 29960 KB
01_rnd_04.txt WA 535 ms 29872 KB
01_rnd_05.txt AC 514 ms 29980 KB
01_rnd_06.txt WA 499 ms 30216 KB
01_rnd_07.txt WA 496 ms 29916 KB
01_rnd_08.txt AC 480 ms 30032 KB
01_rnd_09.txt AC 486 ms 29836 KB
01_rnd_10.txt AC 495 ms 30092 KB
01_rnd_11.txt AC 489 ms 30184 KB
01_rnd_12.txt WA 493 ms 30332 KB
01_rnd_13.txt WA 496 ms 30400 KB
01_rnd_14.txt AC 503 ms 29992 KB
01_rnd_15.txt WA 491 ms 29912 KB
01_rnd_16.txt AC 496 ms 29912 KB
01_rnd_17.txt AC 492 ms 29856 KB
01_rnd_18.txt AC 481 ms 30168 KB
01_rnd_19.txt WA 484 ms 29992 KB
02_rndhard_00.txt AC 483 ms 29972 KB
02_rndhard_01.txt AC 483 ms 30016 KB
02_rndhard_02.txt AC 479 ms 29656 KB
02_rndhard_03.txt AC 483 ms 29888 KB
02_rndhard_04.txt AC 479 ms 29932 KB
02_rndhard_05.txt AC 479 ms 30112 KB
02_rndhard_06.txt AC 479 ms 29904 KB
02_rndhard_07.txt AC 467 ms 29880 KB
02_rndhard_08.txt AC 483 ms 29888 KB
02_rndhard_09.txt AC 494 ms 30364 KB
02_rndhard_10.txt AC 489 ms 30252 KB
02_rndhard_11.txt AC 490 ms 30376 KB
02_rndhard_12.txt AC 496 ms 30108 KB
02_rndhard_13.txt AC 554 ms 29944 KB
02_rndhard_14.txt AC 495 ms 30200 KB
02_rndhard_15.txt AC 481 ms 30216 KB
02_rndhard_16.txt AC 506 ms 29860 KB
02_rndhard_17.txt AC 475 ms 30048 KB
02_rndhard_18.txt AC 503 ms 30368 KB
02_rndhard_19.txt AC 484 ms 29812 KB
02_rndhard_20.txt AC 488 ms 29848 KB
02_rndhard_21.txt AC 478 ms 29828 KB
02_rndhard_22.txt AC 481 ms 29848 KB
02_rndhard_23.txt AC 573 ms 29964 KB
02_rndhard_24.txt AC 470 ms 29992 KB
02_rndhard_25.txt AC 483 ms 29808 KB
02_rndhard_26.txt AC 487 ms 29880 KB
02_rndhard_27.txt AC 492 ms 30276 KB
02_rndhard_28.txt AC 474 ms 29912 KB
02_rndhard_29.txt AC 487 ms 29944 KB
02_rndhard_30.txt AC 489 ms 29788 KB
02_rndhard_31.txt AC 477 ms 29904 KB
02_rndhard_32.txt AC 481 ms 29788 KB
02_rndhard_33.txt AC 474 ms 30148 KB
02_rndhard_34.txt AC 458 ms 29816 KB
02_rndhard_35.txt AC 487 ms 29976 KB
02_rndhard_36.txt AC 480 ms 30312 KB
02_rndhard_37.txt AC 482 ms 29884 KB
02_rndhard_38.txt AC 489 ms 30148 KB
02_rndhard_39.txt AC 475 ms 29704 KB
03_rndhardsmall_00.txt AC 359 ms 23952 KB
03_rndhardsmall_01.txt AC 360 ms 23952 KB
03_rndhardsmall_02.txt AC 357 ms 23868 KB
03_rndhardsmall_03.txt AC 376 ms 23952 KB
03_rndhardsmall_04.txt AC 357 ms 23860 KB
03_rndhardsmall_05.txt AC 367 ms 23952 KB
03_rndhardsmall_06.txt AC 369 ms 23948 KB
03_rndhardsmall_07.txt AC 357 ms 23964 KB
03_rndhardsmall_08.txt AC 369 ms 23924 KB
03_rndhardsmall_09.txt AC 390 ms 23860 KB