CSES - DatatÃ¤hti 2022 alku - Results
 Task: Spiraali (Spiral) Sender: valk Submission time: 2021-10-13 19:54:04 Language: Java Status: READY Result: 15
Feedback
groupverdictscore
#1ACCEPTED15
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.21 s1details
#2--2details
#3--3details

Code

```
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);

int size = input.nextInt(); //size
int tests = input.nextInt(); //tests

HashMap<String, Integer> yValues = new HashMap<>();

int squares = size*size;

int num = 0;

int y = 0;
int x = 1;
int yl = 0;
int xl = 0;

String direction = "down";

for(int i = 0; i < size; i++) {
for(int i2 = 0; i2 < size; i2++) yValues.putIfAbsent(i + "," + i2, -1);
}

for(int i = 0; i < squares; i++) {
num++;
if(direction == "down") {
y++;
yValues.put(y+","+x, num);
if(y == size-yl) { //end
direction = "right";
}
}else if(direction == "right") {
x++;
yValues.put(y+","+x, num);
if(x == size-xl) { //end
direction = "up";
}
}else if(direction == "up") {
y--;
yValues.put(y+","+x, num);
if(y == 1+yl) { //end
direction = "left";
xl++;
}
}else if(direction == "left") {
x--;
yValues.put(y+","+x, num);
if(x == 1+xl) { //end
direction = "down";
yl++;
}
}
}

//HashMap<Integer, Integer> responses = new HashMap<>();

for(int i = 0; i < tests; i++) {
int a = input.nextInt();
int b = input.nextInt();

System.out.println(yValues.get(a + "," + b));
}

input.close();
}

}
```

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
10 100
1 1
1 2
1 3
1 4
...

correct output
1
36
35
34
33
...

user output
1
36
35
34
33
...

Group: 2

Verdict:

input
1000 1000
371 263
915 322
946 880
53 738
...

correct output
773533
312166
206053
200080
593922
...

user output
(empty)

Test 3

Group: 3

Verdict:

input
1000000000 1000
177757853 827347032
409613589 419171337
739269360 256524697
328695530 896842209
...

correct output
571375684522141210
967321186816598569
762879105851175000
370065046779516790
936897883750373771
...

user output
(empty)