Task: | Ruudukko |
Sender: | |
Submission time: | 2015-09-12 01:44:34 +0300 |
Language: | Java |
Status: | READY |
Result: | 12 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 12 |
#2 | WRONG ANSWER | 0 |
#3 | RUNTIME ERROR | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.20 s | 1 | details |
#2 | ACCEPTED | 0.20 s | 1 | details |
#3 | ACCEPTED | 0.20 s | 1 | details |
#4 | ACCEPTED | 0.21 s | 1 | details |
#5 | ACCEPTED | 0.21 s | 1 | details |
#6 | ACCEPTED | 0.21 s | 2 | details |
#7 | ACCEPTED | 0.22 s | 2 | details |
#8 | WRONG ANSWER | 0.22 s | 2 | details |
#9 | WRONG ANSWER | 0.21 s | 2 | details |
#10 | ACCEPTED | 0.21 s | 2 | details |
#11 | RUNTIME ERROR | 0.19 s | 3 | details |
#12 | RUNTIME ERROR | 0.20 s | 3 | details |
#13 | RUNTIME ERROR | 0.19 s | 3 | details |
#14 | RUNTIME ERROR | 0.20 s | 3 | details |
#15 | RUNTIME ERROR | 0.20 s | 3 | details |
Code
//package putka3.pkg2; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.PriorityQueue; import java.util.Scanner; /** * * @author Adreno */ public class Putka32 { public static boolean[][] r; public static void main(String[] args) { Scanner input = new Scanner(System.in); int goal = input.nextInt(); r = new boolean[20][20]; for (int x=0; x<20; x++) r[0][x] = true; for (int y=0; y<20; y++) r[y][19] = true; int nextEmptyLine = 1; while (calc() < goal) { for (int x=10; x<20; x++) { r[nextEmptyLine][x] = true; } nextEmptyLine++; } if (calc() > goal) { nextEmptyLine--; for (int x=10; x<19; x++) { r[nextEmptyLine][x] = false; } } for (int x=0; x<20; x++) r[19][x] = true; for (int y=0; y<20; y++) r[y][0] = true; nextEmptyLine += 2; if (calc() < goal) { for (int x=0; x<19; x++) { r[nextEmptyLine][x] = true; } nextEmptyLine++; } while (calc() < goal) { for (int x=14; x<20; x++) { r[nextEmptyLine][x] = true; } nextEmptyLine++; } if (calc() > goal) { nextEmptyLine--; for (int x=14; x<19; x++) { r[nextEmptyLine][x] = false; } } nextEmptyLine += 2; if (calc() < goal) { for (int x=0; x<19; x++) { r[nextEmptyLine][x] = true; } nextEmptyLine++; } while (calc() < goal) { for (int x=16; x<20; x++) { r[nextEmptyLine][x] = true; } nextEmptyLine++; } if (calc() > goal) { nextEmptyLine--; for (int x=16; x<19; x++) { r[nextEmptyLine][x] = false; } } nextEmptyLine += 2; if (calc() < goal) { for (int x=0; x<19; x++) { r[nextEmptyLine][x] = true; } nextEmptyLine++; } while (calc() < goal) { for (int x=17; x<20; x++) { r[nextEmptyLine][x] = true; } nextEmptyLine++; } if (calc() > goal) { nextEmptyLine--; for (int x=17; x<19; x++) { r[nextEmptyLine][x] = false; } } for (int x=2; x<19; x+=2) { if (calc() == goal) break; if (calc() > goal) { for (int y=1; y<19; y++) { if (calc() <= goal) break; r[y][x] = false; } } if (calc() < goal) { for (int y=1; y<19; y++) { if (calc() >= goal) break; r[y][x] = true; } } } //System.out.println("reached k=" + calc()); for (int y=0; y<20; y++) { for (int x=0; x<20; x++) { System.out.print((r[y][x] ? "." : "#")); } System.out.println(""); } } public static int calc() { ArrayDeque<Loc> jono = new ArrayDeque<>(); jono.add(new Loc(0,0)); boolean[][] kayty = new boolean[20][20]; int[][] ways = new int[20][20]; ways[0][0] = 1; while (!jono.isEmpty()) { Loc nyk = jono.poll(); if (kayty[nyk.y][nyk.x]) continue; kayty[nyk.y][nyk.x] = true; //System.out.println("kaytiin y=" + nyk.y + ", x=" + nyk.x); if (nyk.y < 19 && r[nyk.y+1][nyk.x]) { ways[nyk.y+1][nyk.x] += ways[nyk.y][nyk.x]; jono.add(new Loc(nyk.y+1, nyk.x)); } if (nyk.x < 19 && r[nyk.y][nyk.x+1]) { ways[nyk.y][nyk.x+1] += ways[nyk.y][nyk.x]; jono.add(new Loc(nyk.y, nyk.x+1)); } } return ways[19][19]; } } class Loc { public int x; public int y; public Loc(int y, int x) { this.x = x; this.y = y; } }
Test details
Test 1
Group: 1
Verdict: ACCEPTED
input |
---|
2 |
correct output |
---|
.................... .################### .################### .################### .################### ... |
user output |
---|
.................... .##################. .##################. .##################. .##################. ... |
Test 2
Group: 1
Verdict: ACCEPTED
input |
---|
5 |
correct output |
---|
.................... .################..# .#################.. .#################.. .##################. ... |
user output |
---|
.................... .##################. .##################. .................... .##################. ... |
Test 3
Group: 1
Verdict: ACCEPTED
input |
---|
7 |
correct output |
---|
.................... .################..# .#################.. .#################.. .##################. ... |
user output |
---|
.................... .##################. .##################. .................... .##################. ... |
Test 4
Group: 1
Verdict: ACCEPTED
input |
---|
8 |
correct output |
---|
.................... .################### .################### .################### .################### ... |
user output |
---|
.................... .##################. .##################. .................... .#############...... ... |
Test 5
Group: 1
Verdict: ACCEPTED
input |
---|
9 |
correct output |
---|
.................... .################### .################### .################### .################### ... |
user output |
---|
.................... .##################. .##################. .................... .#############...... ... |
Test 6
Group: 2
Verdict: ACCEPTED
input |
---|
19 |
correct output |
---|
.................... .############..##### .#############..#### .#############...### .##############...## ... |
user output |
---|
.................... .#########.......... .##################. .##################. .................... ... |
Test 7
Group: 2
Verdict: ACCEPTED
input |
---|
32 |
correct output |
---|
.................... .################### .################### .################### .################### ... |
user output |
---|
.................... .#########.......... .##################. .##################. .................... ... |
Test 8
Group: 2
Verdict: WRONG ANSWER
input |
---|
44 |
correct output |
---|
.................... .################..# .#################.. .#################.. .##################. ... |
user output |
---|
.................... .#.#.#.#.#.......... .#.#.#.#.#.#.#.#.#.. .#.#.#.#.#.#.#.#.##. ..................#. ... |
Test 9
Group: 2
Verdict: WRONG ANSWER
input |
---|
76 |
correct output |
---|
.................... .########..######..# .#########..######.. .#########...#####.. .##########...#####. ... |
user output |
---|
.................... .#.#.#.#.#.......... .#.#.#.#.#......#.#. .#.#.#.#.#.#.#.####. .#.#.#.#.#.#.#.####. ... |
Test 10
Group: 2
Verdict: ACCEPTED
input |
---|
93 |
correct output |
---|
.................... .########..##..##..# .#########..##..##.. .#########...#...#.. .##########...#...#. ... |
user output |
---|
.................... .#########.......... .#########.......... .##################. .##################. ... |
Test 11
Group: 3
Verdict: RUNTIME ERROR
input |
---|
141 |
correct output |
---|
.................... .################..# .#################.. .#################.. .##################. ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20 at Putka32.main(Putka32.java:92)
Test 12
Group: 3
Verdict: RUNTIME ERROR
input |
---|
422 |
correct output |
---|
.................... .####..##########..# .#####..##########.. .#####...#########.. .######...#########. ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20 at Putka32.main(Putka32.java:86)
Test 13
Group: 3
Verdict: RUNTIME ERROR
input |
---|
671 |
correct output |
---|
.................... .#.##########..##..# ....##########..##.. .#...#########...#.. .##...#########...#. ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20 at Putka32.main(Putka32.java:72)
Test 14
Group: 3
Verdict: RUNTIME ERROR
input |
---|
895 |
correct output |
---|
.................... .#.##..##..##..##..# ....##..##..##..##.. .#...#...#...#...#.. .##...#...#...#...#. ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20 at Putka32.main(Putka32.java:86)
Test 15
Group: 3
Verdict: RUNTIME ERROR
input |
---|
956 |
correct output |
---|
.................... .#.##..######..##..# ....##..######..##.. .#...#...#####...#.. .##...#...#####...#. ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20 at Putka32.main(Putka32.java:72)