Task: | Ratsun reitit |
Sender: | anton7r |
Submission time: | 2020-10-10 00:47:58 +0300 |
Language: | Java |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 27 |
#2 | ACCEPTED | 31 |
#3 | ACCEPTED | 42 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.15 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.16 s | 1, 2, 3 | details |
#3 | ACCEPTED | 0.15 s | 1, 2, 3 | details |
#4 | ACCEPTED | 0.16 s | 1, 2, 3 | details |
#5 | ACCEPTED | 0.16 s | 1, 2, 3 | details |
#6 | ACCEPTED | 0.17 s | 1, 2, 3 | details |
#7 | ACCEPTED | 0.17 s | 1, 2, 3 | details |
#8 | ACCEPTED | 0.23 s | 2, 3 | details |
#9 | ACCEPTED | 0.28 s | 2, 3 | details |
#10 | ACCEPTED | 0.27 s | 2, 3 | details |
#11 | ACCEPTED | 0.35 s | 3 | details |
#12 | ACCEPTED | 0.46 s | 3 | details |
#13 | ACCEPTED | 0.47 s | 3 | details |
Code
import com.sun.tools.jconsole.JConsoleContext; import java.io.*; import java.util.HashMap; import java.util.Map; public class Main { private static int koko = 0; private static int i = 0; private static Map<Coords, Integer> lauta = new HashMap<>(); private static Map<Coords, Integer> uudet; static class Coords { public int x; public int y; public Coords(int x, int y) { this.x = x; this.y = y; } public boolean equals(Object o) { Coords c = (Coords)o; return c.x==x && c.y==y; } public void move(int x, int y) { x += this.x; y += this.y; //varmistaa että siirto on mahdollinen if(x > -1 && x < koko && y > -1 && y < koko) { Coords siirto = new Coords(x, y); uudet.put(siirto, i+1); } } public int hashCode() { return Integer.parseInt(x + "0" + y); } } synchronized public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { koko = Integer.parseInt(br.readLine().trim()); } catch (IOException ioe) { System.out.println(ioe); } lauta.put(new Coords(0, 0), 0); int kokoToiseen = koko * koko; while (lauta.size() < kokoToiseen) { //boolean loytyyko = false; uudet = new HashMap<>(); for (Coords coord : lauta.keySet()) { if (lauta.get(coord) == i) { //loytyyko = true; coord.move(1, 2); coord.move(-1, 2); coord.move(1, -2); coord.move(-1, -2); coord.move(2, 1); coord.move(-2, 1); coord.move(2, -1); coord.move(-2, -1); }; } //if(!loytyyko) { // break; //} for (Map.Entry<Coords, Integer> entry : uudet.entrySet()) { lauta.putIfAbsent(entry.getKey(), entry.getValue()); } i++; } for (int x = 0; x < koko; x++) { for (int y = 0; y < koko; y++) { if(y != 0) { System.out.print(" "); } System.out.print(lauta.getOrDefault(new Coords(x, y), 0)); } System.out.print("\n"); } } }
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
4 |
correct output |
---|
0 3 2 5 3 4 1 2 2 1 4 3 5 2 3 2 |
user output |
---|
0 3 2 5 3 4 1 2 2 1 4 3 5 2 3 2 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
5 |
correct output |
---|
0 3 2 3 2 3 4 1 2 3 2 1 4 3 2 3 2 3 2 3 2 3 2 3 4 |
user output |
---|
0 3 2 3 2 3 4 1 2 3 2 1 4 3 2 3 2 3 2 3 2 3 2 3 4 |
Test 3
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
6 |
correct output |
---|
0 3 2 3 2 3 3 4 1 2 3 4 2 1 4 3 2 3 3 2 3 2 3 4 2 3 2 3 4 3 ... |
user output |
---|
0 3 2 3 2 3 3 4 1 2 3 4 2 1 4 3 2 3 3 2 3 2 3 4 2 3 2 3 4 3 ... |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
7 |
correct output |
---|
0 3 2 3 2 3 4 3 4 1 2 3 4 3 2 1 4 3 2 3 4 3 2 3 2 3 4 3 2 3 2 3 4 3 4 ... |
user output |
---|
0 3 2 3 2 3 4 3 4 1 2 3 4 3 2 1 4 3 2 3 4 3 2 3 2 3 4 3 2 3 2 3 4 3 4 ... Truncated |
Test 5
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
8 |
correct output |
---|
0 3 2 3 2 3 4 5 3 4 1 2 3 4 3 4 2 1 4 3 2 3 4 5 3 2 3 2 3 4 3 4 2 3 2 3 4 3 4 5 ... |
user output |
---|
0 3 2 3 2 3 4 5 3 4 1 2 3 4 3 4 2 1 4 3 2 3 4 5 3 2 3 2 3 4 3 4 2 3 2 3 4 3 4 5 ... Truncated |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
9 |
correct output |
---|
0 3 2 3 2 3 4 5 4 3 4 1 2 3 4 3 4 5 2 1 4 3 2 3 4 5 4 3 2 3 2 3 4 3 4 5 2 3 2 3 4 3 4 5 4 ... |
user output |
---|
0 3 2 3 2 3 4 5 4 3 4 1 2 3 4 3 4 5 2 1 4 3 2 3 4 5 4 3 2 3 2 3 4 3 4 5 2 3 2 3 4 3 4 5 4 ... Truncated |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
10 |
correct output |
---|
0 3 2 3 2 3 4 5 4 5 3 4 1 2 3 4 3 4 5 6 2 1 4 3 2 3 4 5 4 5 3 2 3 2 3 4 3 4 5 6 2 3 2 3 4 3 4 5 4 5 ... |
user output |
---|
0 3 2 3 2 3 4 5 4 5 3 4 1 2 3 4 3 4 5 6 2 1 4 3 2 3 4 5 4 5 3 2 3 2 3 4 3 4 5 6 2 3 2 3 4 ... Truncated |
Test 8
Group: 2, 3
Verdict: ACCEPTED
input |
---|
25 |
correct output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... |
user output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... Truncated |
Test 9
Group: 2, 3
Verdict: ACCEPTED
input |
---|
49 |
correct output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... |
user output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... Truncated |
Test 10
Group: 2, 3
Verdict: ACCEPTED
input |
---|
50 |
correct output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... |
user output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... Truncated |
Test 11
Group: 3
Verdict: ACCEPTED
input |
---|
75 |
correct output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... |
user output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... Truncated |
Test 12
Group: 3
Verdict: ACCEPTED
input |
---|
99 |
correct output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... |
user output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... Truncated |
Test 13
Group: 3
Verdict: ACCEPTED
input |
---|
100 |
correct output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... |
user output |
---|
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ... Truncated |