Submission #420569


Source Code Expand

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Scanner;

public class Main {
    private static final String TAG = Main.class.getSimpleName();
    private static final BufferedReader br = new BufferedReader(
            new InputStreamReader(System.in));

    public static void main(String[] args) throws Exception {
        Integer hw[] = nextInts();
        char[][] m = new char[hw[0]][hw[1]];

        boolean ss = false;
        boolean gg = false;
        int[] s = new int[2];
        int[] g = new int[2];

        for (int i = 0; i < hw[0]; i++) {
            // for (int j = 0; j < hw[1]; j++) {
            // String line = nextLine();
            // line.split(" ");
            // }
            String line = nextLine();
            m[i] = line.toCharArray();

            if (!ss) {
                int k = line.indexOf("s");

                if (k >= 0) {
                    s[0] = i;
                    s[1] = k;
                    ss = true;
                }
            }

            if (!gg) {
                int k = line.indexOf("g");

                if (k >= 0) {
                    g[0] = i;
                    g[1] = k;
                    gg = true;
                }
            }
        }

        ans(a(m.clone(), s[0], s[1]) ? "YES" : "NO");
    }

    private static boolean a(char[][] m, int start, int end) {
        if (go(m, start + 1, end)) {
            m[start][end] = '#';
            if (correct(m, start + 1, end)) {
                return true;
            }

            if (a(m.clone(), start + 1, end)) {
                return true;
            }
        }

        if (go(m, start, end + 1)) {
            m[start][end] = '#';
            if (correct(m, start, end + 1)) {
                return true;
            }

            if (a(m.clone(), start, end + 1)) {
                return true;
            }
        }

        if (go(m, start - 1, end)) {
            m[start][end] = '#';
            if (correct(m, start - 1, end)) {
                return true;
            }
            if (a(m.clone(), start - 1, end)) {
                return true;
            }
        }

        if (go(m, start, end - 1)) {
            m[start][end] = '#';
            if (correct(m, start, end - 1)) {
                return true;
            }
            if (a(m.clone(), start, end - 1)) {
                return true;
            }
        }

        return false;
    }

    private static boolean go(char[][] m, int start, int end) {
        if (start < 0 || end < 0 || m.length <= start || m[0].length <= end) {
            return false;
        }

        if (m[start][end] == '#') {
            return false;
        } else {
            return true;
        }
    }

    private static boolean correct(char[][] m, int start, int end) {
        if (m[start][end] == 'g') {
            return true;
        } else {
            return false;
        }
    }

    private static String nextLine() throws IOException {
        return br.readLine();
    }

    private static Integer nextInt() throws NumberFormatException, IOException {
        return Integer.parseInt(br.readLine());
    }

    private static String[] nextLines() throws IOException {
        return br.readLine().split(" ");
    }

    private static Integer[] nextInts() throws IOException {
        String[] s = nextLines();
        Integer[] ints = new Integer[s.length];
        for (int i = 0; i < ints.length; i++) {
            ints[i] = Integer.parseInt(s[i]);
        }
        return ints;
    }

    private static void ans(Object s) {
        System.out.println(s.toString());
    }
}

Submission Info

Submission Time
Task A - 深さ優先探索
User jkojm23
Language Java (OpenJDK 1.7.0)
Score 0
Code Size 3957 Byte
Status WA
Exec Time 2649 ms
Memory 438900 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
WA × 5
WA × 81
TLE × 1
MLE × 1
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 329 ms 22384 KB
00_min_02.txt WA 334 ms 22408 KB
00_min_03.txt WA 342 ms 22416 KB
00_min_04.txt WA 423 ms 22532 KB
00_min_05.txt WA 468 ms 22324 KB
00_min_06.txt WA 428 ms 22476 KB
00_min_07.txt WA 338 ms 22412 KB
00_min_08.txt WA 331 ms 22412 KB
00_sample_01.txt WA 336 ms 22420 KB
00_sample_02.txt WA 335 ms 22412 KB
00_sample_03.txt WA 336 ms 22396 KB
00_sample_04.txt WA 340 ms 22416 KB
00_sample_05.txt WA 342 ms 22392 KB
01_rnd_00.txt WA 389 ms 26980 KB
01_rnd_01.txt WA 1333 ms 211056 KB
01_rnd_02.txt WA 916 ms 139508 KB
01_rnd_03.txt WA 1462 ms 243232 KB
01_rnd_04.txt MLE 1912 ms 359552 KB
01_rnd_05.txt WA 399 ms 26984 KB
01_rnd_06.txt WA 1500 ms 223756 KB
01_rnd_07.txt WA 1008 ms 153588 KB
01_rnd_08.txt WA 404 ms 27364 KB
01_rnd_09.txt WA 398 ms 26720 KB
01_rnd_10.txt WA 674 ms 70392 KB
01_rnd_11.txt WA 381 ms 26684 KB
01_rnd_12.txt WA 602 ms 74928 KB
01_rnd_13.txt WA 1258 ms 195204 KB
01_rnd_14.txt WA 385 ms 26728 KB
01_rnd_15.txt WA 887 ms 123480 KB
01_rnd_16.txt WA 392 ms 26880 KB
01_rnd_17.txt WA 942 ms 121020 KB
01_rnd_18.txt WA 391 ms 26892 KB
01_rnd_19.txt TLE 2649 ms 438900 KB
02_rndhard_00.txt WA 401 ms 29608 KB
02_rndhard_01.txt WA 397 ms 29264 KB
02_rndhard_02.txt WA 475 ms 39608 KB
02_rndhard_03.txt WA 453 ms 39036 KB
02_rndhard_04.txt WA 390 ms 27256 KB
02_rndhard_05.txt WA 390 ms 27312 KB
02_rndhard_06.txt WA 389 ms 28584 KB
02_rndhard_07.txt WA 377 ms 26812 KB
02_rndhard_08.txt WA 414 ms 34964 KB
02_rndhard_09.txt WA 409 ms 34336 KB
02_rndhard_10.txt WA 406 ms 33832 KB
02_rndhard_11.txt WA 414 ms 34440 KB
02_rndhard_12.txt WA 408 ms 33500 KB
02_rndhard_13.txt WA 462 ms 33736 KB
02_rndhard_14.txt WA 440 ms 33804 KB
02_rndhard_15.txt WA 424 ms 33956 KB
02_rndhard_16.txt WA 382 ms 28420 KB
02_rndhard_17.txt WA 385 ms 28200 KB
02_rndhard_18.txt WA 410 ms 30028 KB
02_rndhard_19.txt WA 408 ms 29188 KB
02_rndhard_20.txt WA 392 ms 29200 KB
02_rndhard_21.txt WA 393 ms 29064 KB
02_rndhard_22.txt WA 416 ms 34796 KB
02_rndhard_23.txt WA 408 ms 33436 KB
02_rndhard_24.txt WA 393 ms 28412 KB
02_rndhard_25.txt WA 411 ms 29256 KB
02_rndhard_26.txt WA 400 ms 29524 KB
02_rndhard_27.txt WA 375 ms 27308 KB
02_rndhard_28.txt WA 384 ms 29672 KB
02_rndhard_29.txt WA 399 ms 29936 KB
02_rndhard_30.txt WA 383 ms 26828 KB
02_rndhard_31.txt WA 382 ms 26812 KB
02_rndhard_32.txt WA 410 ms 34160 KB
02_rndhard_33.txt WA 414 ms 34280 KB
02_rndhard_34.txt WA 389 ms 28092 KB
02_rndhard_35.txt WA 384 ms 28120 KB
02_rndhard_36.txt WA 388 ms 27648 KB
02_rndhard_37.txt WA 377 ms 27756 KB
02_rndhard_38.txt WA 407 ms 30672 KB
02_rndhard_39.txt WA 387 ms 29788 KB
03_rndhardsmall_00.txt WA 340 ms 22484 KB
03_rndhardsmall_01.txt WA 337 ms 22416 KB
03_rndhardsmall_02.txt WA 330 ms 22416 KB
03_rndhardsmall_03.txt WA 326 ms 22408 KB
03_rndhardsmall_04.txt WA 323 ms 22416 KB
03_rndhardsmall_05.txt WA 324 ms 22488 KB
03_rndhardsmall_06.txt WA 329 ms 22484 KB
03_rndhardsmall_07.txt WA 332 ms 22416 KB
03_rndhardsmall_08.txt WA 332 ms 22412 KB
03_rndhardsmall_09.txt WA 330 ms 22384 KB