Problem Statement
Magical Girls are girls who have magical powers. They fight against evil witches to protect the Earth.
You, one of the Magical Girls, are at point (0, 0) of the plane. You find another Magical Girl at (x, y) and she seems to be injured. So you decide to go to point (x, y) to help her.
You can move only by n-knight jump. For a positive integer n, the n-knight jump is 8 types of moves. You can go from (0, 0) to (n, 1), (n, -1), (-n, 1), (-n, -1), (1, n), (-1, n), (1, -n) or (-1, -n) by using n-knight jump once.
You are given a
Definition
- Class:
- MagicalGirlLevelTwoDivTwo
- Method:
- isReachable
- Parameters:
- int[], int, int
- Returns:
- String
- Method signature:
- String isReachable(int[] jumpTypes, int x, int y)
- (be sure your method is public)
Constraints
- jumpTypes will contain between 1 and 10 elements, inclusive.
- Each element of jumpTypes will be between 1 and 30, inclusive.
- All elements of jumpTypes will be distinct.
- x and y will each be between -30 and 30, inclusive.
Examples
{2}
5
4
Returns: "YES"
(0, 0) -> (2, 1) -> (4, 2) -> (5, 4).
{3}
5
4
Returns: "NO"
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
-30
27
Returns: "YES"
{29}
29
0
Returns: "NO"
{1,3,5,7,9,11,13,15,17,19}
29
30
Returns: "NO"
{21,23,25,27,29}
-30
29
Returns: "NO"
{1}
1
0
Returns: "NO"
{1,9,11,19}
6
7
Returns: "NO"
{7}
7
8
Returns: "NO"
{9}
9
10
Returns: "NO"
{13}
13
14
Returns: "NO"
{1,3,9,7,5}
-30
-29
Returns: "NO"
{29}
-7
-16
Returns: "NO"
{23}
-4
9
Returns: "NO"
{3}
16
-17
Returns: "NO"
{1}
7
-30
Returns: "NO"
{7,3,1,5}
17
-6
Returns: "NO"
{1,29}
30
29
Returns: "NO"
{1,29}
30
30
Returns: "YES"
{29,1}
-30
-30
Returns: "YES"
{11,15,13,28,26,29}
-26
-3
Returns: "YES"
{16,27,23,6,13}
-25
26
Returns: "YES"
{14,27,2,3}
-27
13
Returns: "YES"
{24,17,23}
20
-24
Returns: "YES"
{10,2,20}
-29
13
Returns: "YES"
{21,26,1}
-7
2
Returns: "YES"
{30}
-6
4
Returns: "YES"
{27,26,24,17,7,5,25}
6
-1
Returns: "YES"
{8,20,28}
-29
9
Returns: "YES"
{23,20,1}
6
-17
Returns: "YES"
{1,26,2,4,10,7,5}
14
-5
Returns: "YES"
{14}
27
20
Returns: "YES"
{20,10,9,29,8}
-3
11
Returns: "YES"
{11}
-4
7
Returns: "NO"
{24,28,10,14,22,16}
3
-5
Returns: "YES"
{26,16,12,20,13}
-2
-19
Returns: "YES"
{8,3,29,18,14}
-17
-4
Returns: "YES"
{4,15,24}
-21
-25
Returns: "YES"
{19}
-18
-19
Returns: "NO"
{1,13,24,16,29,14}
25
6
Returns: "YES"
{5,9,12,13}
11
15
Returns: "YES"
{9,14,23,15,3,8,24,18}
-24
11
Returns: "YES"
{11,22}
9
12
Returns: "YES"
{25,8}
-21
29
Returns: "YES"
{21,15,20,30,3,2,23,7,18,16}
-14
-29
Returns: "YES"
{14,29,16,8}
-18
-28
Returns: "YES"
{24,21,17,7}
-25
2
Returns: "YES"
{30,12,10,19,15,25}
26
10
Returns: "YES"
{7,18,20,3,11,29,9,5}
9
9
Returns: "YES"
{27,15,23,25,4,24,9,5}
19
-17
Returns: "YES"
{10}
29
30
Returns: "YES"
{7,25,6,29,30,19,18,20}
28
-20
Returns: "YES"
{13,20,26,28,24,10}
-30
8
Returns: "YES"
{27,25,1,17,20}
-12
14
Returns: "YES"
{4,12,17}
30
3
Returns: "YES"
{22,23,25}
-10
22
Returns: "YES"
{19,3,12,1,13,8,22,2,16}
-4
-8
Returns: "YES"
{14,17,26}
-4
4
Returns: "YES"
{20,30,19,22,25,18,8,28}
-16
12
Returns: "YES"
{10,20,4,9,2,1}
10
-8
Returns: "YES"
{3,30,24,6,27,25,23}
6
8
Returns: "YES"
{12,5,18,4,25}
-18
29
Returns: "YES"
{7,18,1,28,4,24,29}
17
-11
Returns: "YES"
{3,25,23,11,29,27,24,7,15}
-14
-2
Returns: "YES"
{1,5,7,20,27}
-20
-10
Returns: "YES"
{13,5}
-13
-22
Returns: "NO"
{16,18,2,28,26,25}
-22
3
Returns: "YES"
{15,22,6,20,16}
29
-15
Returns: "YES"
{14,18}
-3
20
Returns: "YES"
{8,19}
19
8
Returns: "YES"
{29}
0
0
Returns: "YES"
{29 }
29
0
Returns: "NO"
{2 }
5
4
Returns: "YES"
{29, 30 }
1
2
Returns: "YES"
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
-30
27
Returns: "YES"
{3 }
5
4
Returns: "NO"
{1 }
1
0
Returns: "NO"
{23, 21, 18 }
-29
-12
Returns: "YES"
{3, 9, 12, 15, 21, 22, 24, 26, 28, 7 }
30
30
Returns: "YES"
{1 }
5
5
Returns: "YES"
{2 }
0
2
Returns: "YES"
{1 }
2
0
Returns: "YES"
{2 }
2
0
Returns: "YES"
{2 }
0
0
Returns: "YES"
{3 }
3
1
Returns: "YES"
{1, 2, 3 }
0
0
Returns: "YES"
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
29
27
Returns: "YES"
{3 }
8
-2
Returns: "YES"
{4 }
3
3
Returns: "YES"
{1 }
2
2
Returns: "YES"
{3, 10 }
11
4
Returns: "YES"
{27 }
1
-1
Returns: "YES"
{1, 29, 2 }
3
5
Returns: "YES"
{3, 7 }
6
14
Returns: "YES"
{22 }
1
1
Returns: "YES"
{4 }
-20
16
Returns: "YES"
{2, 3 }
5
3
Returns: "YES"
{10 }
2
0
Returns: "YES"
{1, 2 }
-30
-30
Returns: "YES"
{2, 3 }
4
3
Returns: "YES"
{2 }
6
0
Returns: "YES"
{8 }
9
11
Returns: "YES"
{3 }
5
7
Returns: "YES"
{4 }
1
1
Returns: "YES"
{2 }
1
1
Returns: "YES"
{2 }
5
-4
Returns: "YES"
{1 }
0
0
Returns: "YES"
{3 }
3
9
Returns: "YES"
{1 }
1
1
Returns: "YES"
{3 }
-1
1
Returns: "YES"
{30 }
1
0
Returns: "YES"
{1 }
1
2
Returns: "NO"
{29 }
-1
27
Returns: "YES"
{5, 3 }
-1
-1
Returns: "YES"
{2 }
-1
1
Returns: "YES"
{1 }
30
27
Returns: "NO"
{3 }
1
1
Returns: "YES"