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