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 |
|
|
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 |