Submission #420856


Source Code Expand

import java.util.*;
import java.io.*;
import static java.util.Arrays.*;
import static java.lang.Math.*;

public class Main {
    
    static final Scanner in = new Scanner(System.in);
    static final PrintWriter out = new PrintWriter(System.out,false);

    static void solve() {
        int h = in.nextInt();
        int w = in.nextInt();
        UnionFind uf = new UnionFind(h*w);
     	char[][] c = new char[h][w];
     	int[] dy = {0,1,0,-1};
   		int[] dx = {1,0,-1,0};
   		int s=-1,g=-1;

        for (int i=0; i<h; i++) {
        	c[i] = in.next().toCharArray();
        	for (int j=0; j<w; j++) {
        		if (c[i][j] == 's') {
        			s = i*w+j;
        		}else if (c[i][j] == 'g') {
        			g = i*w+j;
        		}else if (c[i][j] == '.' || c[i][j] == 's' || c[i][j] == 'g') {
        			for (int k=0; k<4; k++) {
        				int y = i + dy[k];
    					int x = j + dx[k];
    					if (y < 0 || h <= y || x < 0 || w <= x) continue;
    					if (c[y][x] == '.' || c[y][x] == 's' || c[y][x] == 'g') uf.unite(i*w+j,y*w+x);
        			}
        		}
        	}
        }
        
        out.println(uf.same(s,g)?"Yes":"No");
    }

    static class UnionFind {
    
    	int[] node;
    
    	public UnionFind(int n){
    		node = new int[n];
    		for (int i=0; i<n; i++)
    			node[i] = i;
    	}
    
    	int find(int x){
    		if(node[x] == x)
    			return x;
    		return node[x] = find(node[x]);
    	}
    
    	boolean same(int x,int y){
    		return find(x) == find(y);
    	}
    
    	void unite(int x,int y){
    		if (find(x) == find(y))
    			return;
    		node[find(x)] = find(y);
    	}
    }

    public static void main(String[] args) {
        long start = System.currentTimeMillis();

        solve();
        out.flush();

        long end = System.currentTimeMillis();
        //trace(end-start + "ms");
        in.close();
        out.close();
    }

    static void trace(Object... o) { System.out.println(Arrays.deepToString(o));}
}

Submission Info

Submission Time
Task A - 深さ優先探索
User t8m8
Language Java8 (OpenJDK 1.8.0)
Score 0
Code Size 2055 Byte
Status WA
Exec Time 616 ms
Memory 37168 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 5
AC × 81
WA × 2
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 472 ms 29096 KB
00_min_02.txt AC 462 ms 29136 KB
00_min_03.txt AC 447 ms 29188 KB
00_min_04.txt AC 445 ms 29060 KB
00_min_05.txt WA 434 ms 29132 KB
00_min_06.txt AC 434 ms 29100 KB
00_min_07.txt AC 450 ms 29212 KB
00_min_08.txt AC 453 ms 29096 KB
00_sample_01.txt AC 449 ms 29028 KB
00_sample_02.txt AC 445 ms 29168 KB
00_sample_03.txt AC 455 ms 29144 KB
00_sample_04.txt AC 458 ms 29188 KB
00_sample_05.txt AC 455 ms 29028 KB
01_rnd_00.txt AC 552 ms 36788 KB
01_rnd_01.txt AC 609 ms 36416 KB
01_rnd_02.txt AC 580 ms 36272 KB
01_rnd_03.txt AC 616 ms 36508 KB
01_rnd_04.txt AC 590 ms 36864 KB
01_rnd_05.txt AC 596 ms 36648 KB
01_rnd_06.txt AC 600 ms 36284 KB
01_rnd_07.txt AC 601 ms 36840 KB
01_rnd_08.txt AC 564 ms 35064 KB
01_rnd_09.txt AC 579 ms 36132 KB
01_rnd_10.txt AC 571 ms 36220 KB
01_rnd_11.txt AC 554 ms 34760 KB
01_rnd_12.txt AC 607 ms 36608 KB
01_rnd_13.txt AC 587 ms 36764 KB
01_rnd_14.txt AC 556 ms 35488 KB
01_rnd_15.txt AC 579 ms 35856 KB
01_rnd_16.txt AC 565 ms 35332 KB
01_rnd_17.txt AC 588 ms 35948 KB
01_rnd_18.txt AC 554 ms 35928 KB
01_rnd_19.txt AC 604 ms 35228 KB
02_rndhard_00.txt AC 595 ms 36452 KB
02_rndhard_01.txt AC 593 ms 36516 KB
02_rndhard_02.txt AC 581 ms 36996 KB
02_rndhard_03.txt AC 594 ms 37000 KB
02_rndhard_04.txt AC 572 ms 35852 KB
02_rndhard_05.txt AC 567 ms 35676 KB
02_rndhard_06.txt AC 563 ms 35228 KB
02_rndhard_07.txt AC 597 ms 37068 KB
02_rndhard_08.txt AC 577 ms 36268 KB
02_rndhard_09.txt AC 611 ms 35728 KB
02_rndhard_10.txt AC 580 ms 36784 KB
02_rndhard_11.txt AC 591 ms 37168 KB
02_rndhard_12.txt AC 581 ms 35556 KB
02_rndhard_13.txt AC 585 ms 35580 KB
02_rndhard_14.txt AC 597 ms 35996 KB
02_rndhard_15.txt AC 584 ms 36088 KB
02_rndhard_16.txt AC 601 ms 36040 KB
02_rndhard_17.txt AC 570 ms 36128 KB
02_rndhard_18.txt AC 587 ms 36236 KB
02_rndhard_19.txt AC 573 ms 36016 KB
02_rndhard_20.txt AC 602 ms 36076 KB
02_rndhard_21.txt AC 563 ms 35656 KB
02_rndhard_22.txt AC 601 ms 36136 KB
02_rndhard_23.txt AC 602 ms 35828 KB
02_rndhard_24.txt AC 616 ms 36524 KB
02_rndhard_25.txt AC 575 ms 35996 KB
02_rndhard_26.txt AC 603 ms 36212 KB
02_rndhard_27.txt AC 581 ms 34976 KB
02_rndhard_28.txt AC 585 ms 35684 KB
02_rndhard_29.txt AC 577 ms 35904 KB
02_rndhard_30.txt AC 600 ms 35928 KB
02_rndhard_31.txt AC 575 ms 35800 KB
02_rndhard_32.txt AC 593 ms 35888 KB
02_rndhard_33.txt AC 565 ms 35880 KB
02_rndhard_34.txt AC 588 ms 36612 KB
02_rndhard_35.txt AC 592 ms 35900 KB
02_rndhard_36.txt AC 576 ms 36164 KB
02_rndhard_37.txt AC 574 ms 36072 KB
02_rndhard_38.txt AC 602 ms 36388 KB
02_rndhard_39.txt AC 590 ms 35860 KB
03_rndhardsmall_00.txt AC 452 ms 29064 KB
03_rndhardsmall_01.txt AC 450 ms 29080 KB
03_rndhardsmall_02.txt AC 454 ms 29168 KB
03_rndhardsmall_03.txt AC 448 ms 28964 KB
03_rndhardsmall_04.txt AC 454 ms 29036 KB
03_rndhardsmall_05.txt AC 448 ms 29136 KB
03_rndhardsmall_06.txt AC 443 ms 28972 KB
03_rndhardsmall_07.txt AC 460 ms 29052 KB
03_rndhardsmall_08.txt AC 451 ms 29132 KB
03_rndhardsmall_09.txt AC 456 ms 29096 KB