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