Task: | Gold |
Sender: | Viljamin opetuslapset |
Submission time: | 2017-09-12 18:57:01 +0300 |
Language: | Java |
Status: | READY |
Result: | RUNTIME ERROR |
test | verdict | time | |
---|---|---|---|
#1 | RUNTIME ERROR | 0.12 s | details |
#2 | RUNTIME ERROR | 0.12 s | details |
#3 | RUNTIME ERROR | 0.13 s | details |
#4 | RUNTIME ERROR | 0.12 s | details |
#5 | RUNTIME ERROR | 0.12 s | details |
#6 | RUNTIME ERROR | 0.12 s | details |
#7 | RUNTIME ERROR | 0.12 s | details |
#8 | RUNTIME ERROR | 0.13 s | details |
#9 | RUNTIME ERROR | 0.11 s | details |
#10 | RUNTIME ERROR | 0.14 s | details |
#11 | RUNTIME ERROR | 0.13 s | details |
#12 | RUNTIME ERROR | 0.11 s | details |
#13 | RUNTIME ERROR | 0.12 s | details |
#14 | RUNTIME ERROR | 0.15 s | details |
#15 | RUNTIME ERROR | 0.12 s | details |
#16 | RUNTIME ERROR | 0.14 s | details |
#17 | RUNTIME ERROR | 0.14 s | details |
#18 | RUNTIME ERROR | 0.13 s | details |
#19 | RUNTIME ERROR | 0.12 s | details |
#20 | RUNTIME ERROR | 0.12 s | details |
#21 | RUNTIME ERROR | 0.14 s | details |
#22 | RUNTIME ERROR | 0.17 s | details |
#23 | RUNTIME ERROR | 0.11 s | details |
#24 | RUNTIME ERROR | 0.16 s | details |
Code
import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; public class peli { private static HashSet<String> visited; private static int korkeus; private static int leveys; private static int gold; private static String alotus; private static HashMap<String, HashSet<String>> vierus; private static char[][] kartta; private static int maxGold; public static void main(String[] args) { IO io = new IO(); visited = new HashSet<>(); gold = 0; leveys = io.nextInt(); korkeus = io.nextInt(); kartta = new char[leveys][korkeus]; for (int i = 0; i < korkeus; i++) { char[] rivi = io.next().toCharArray(); kartta[i] = rivi; } vierus = new HashMap<>(); for (int i = 0; i < korkeus; i++) { for (int j = 0; j < leveys; j++) { HashSet<String> vieressa = new HashSet<>(); // System.out.print(kartta[i][j]); if (kartta[i][j] == '#') { continue; } if (onkoAnsaa((i) + "," + (j))) { vierus.put((i) + "," + (j), vieressa); continue; } if (kartta[i][j] == 'G') { maxGold++; } if (kartta[i][j] == 'P') { alotus = (i) + "," + (j); } if (i + 1 < korkeus && kartta[i + 1][j] != '#') { vieressa.add((i + 1) + "," + (j)); } if (i - 1 >= 0 && kartta[i - 1][j] != '#') { vieressa.add((i - 1) + "," + (j)); } if (j + 1 < leveys && kartta[i][j + 1] != '#') { vieressa.add((i) + "," + (j + 1)); } if (j - 1 >= 0 && kartta[i][j - 1] != '#') { vieressa.add((i) + "," + (j - 1)); } vierus.put((i) + "," + (j), vieressa); } } rekursio(alotus); io.println(gold); io.close(); } public static void rekursio(String seuraava) { if (visited.contains(seuraava)) { return; } visited.add(seuraava); char taa = lueKarttaa(seuraava); if (taa == 'G') { gold++; } if (gold == maxGold){ return; } if (onkoAnsaa(seuraava)) { return; } for (String s : vierus.get(seuraava)) { if (lueKarttaa(s) != '#') { rekursio(s); } } return; } public static char lueKarttaa(String coord) { String[] c = coord.split(","); int y = Integer.parseInt(c[0]); int x = Integer.parseInt(c[1]); return kartta[y][x]; } public static boolean onkoAnsaa(String coord) { // String[] c = coord.split(","); // int y = Integer.parseInt(c[0]); // int x = Integer.parseInt(c[1]); for (String s : vierus.get(coord)) { if (lueKarttaa(s) == 'T') { return true; } } return false; } }
Test details
Test 1
Verdict: RUNTIME ERROR
input |
---|
8 6 ######## #...GTG# #..PG.G# #...G#G# ... |
correct output |
---|
4 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 2
Verdict: RUNTIME ERROR
input |
---|
7 4 ####### #P.GTG# #..TGG# ####### |
correct output |
---|
1 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 3
Verdict: RUNTIME ERROR
input |
---|
50 50 ##############################... |
correct output |
---|
2303 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 4
Verdict: RUNTIME ERROR
input |
---|
50 50 ##############################... |
correct output |
---|
1 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 5
Verdict: RUNTIME ERROR
input |
---|
50 50 ##############################... |
correct output |
---|
0 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 6
Verdict: RUNTIME ERROR
input |
---|
50 50 ##############################... |
correct output |
---|
2 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 7
Verdict: RUNTIME ERROR
input |
---|
50 50 ##############################... |
correct output |
---|
1196 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 8
Verdict: RUNTIME ERROR
input |
---|
50 50 ##############################... |
correct output |
---|
1 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 9
Verdict: RUNTIME ERROR
input |
---|
50 50 ##############################... |
correct output |
---|
0 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 10
Verdict: RUNTIME ERROR
input |
---|
50 50 ##############################... |
correct output |
---|
130 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 11
Verdict: RUNTIME ERROR
input |
---|
50 50 ##############################... |
correct output |
---|
0 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 12
Verdict: RUNTIME ERROR
input |
---|
3 3 ### #P# ### |
correct output |
---|
0 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 13
Verdict: RUNTIME ERROR
input |
---|
3 50 ### #G# #T# #G# ... |
correct output |
---|
45 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at peli.main(peli.java:28)
Test 14
Verdict: RUNTIME ERROR
input |
---|
50 3 ##############################... |
correct output |
---|
45 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 15
Verdict: RUNTIME ERROR
input |
---|
5 4 ##### #TGG# #G#P# ##### |
correct output |
---|
2 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 16
Verdict: RUNTIME ERROR
input |
---|
37 20 ##############################... |
correct output |
---|
0 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 17
Verdict: RUNTIME ERROR
input |
---|
16 37 ################ #.G.G.G#GG.G.#G# ##....G...#G..## #G...#.#GG.....# ... |
correct output |
---|
0 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 16 at peli.main(peli.java:28)
Test 18
Verdict: RUNTIME ERROR
input |
---|
17 42 ################# ##G...#.....##..# #G..........G.### #.G..##G.G.G...G# ... |
correct output |
---|
0 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 17 at peli.main(peli.java:28)
Test 19
Verdict: RUNTIME ERROR
input |
---|
42 24 ##############################... |
correct output |
---|
133 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 20
Verdict: RUNTIME ERROR
input |
---|
32 35 ##############################... |
correct output |
---|
736 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 32 at peli.main(peli.java:28)
Test 21
Verdict: RUNTIME ERROR
input |
---|
21 43 ##################### #G.##G#GGGGG#G#GG##G# #GG##GGT#GG###GG#GGG# #GGGTGG..G#G...TG##G# ... |
correct output |
---|
0 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 21 at peli.main(peli.java:28)
Test 22
Verdict: RUNTIME ERROR
input |
---|
47 14 ##############################... |
correct output |
---|
252 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)
Test 23
Verdict: RUNTIME ERROR
input |
---|
18 21 ################## ##G.T#.GGG.G....## #G..T....GG.G#..G# #.#..#..#..TG#G.G# ... |
correct output |
---|
97 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 18 at peli.main(peli.java:28)
Test 24
Verdict: RUNTIME ERROR
input |
---|
32 16 ##############################... |
correct output |
---|
69 |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.NullPointerException at peli.onkoAnsaa(peli.java:111) at peli.main(peli.java:41)