Problem Statement
You are given two distinct points A and B in the two-dimensional plane. Your task is to find any point C with the following properties:
- C is different from A and B.
- Each coordinate of C is an integer between -100 and 100, inclusive.
- The distance between A and C is strictly greater than the distance between B and C.
You are given four
For the constraints given below it is guaranteed that a valid point C always exists. If there are multiple solutions, return any of them.
Definition
- Class:
- PointDistance
- Method:
- findPoint
- Parameters:
- int, int, int, int
- Returns:
- int[]
- Method signature:
- int[] findPoint(int x1, int y1, int x2, int y2)
- (be sure your method is public)
Notes
- In this problem we consider the standard Euclidean distance. Formally, the distance between points (xi,yi) and (xj,yj) is defined as sqrt( (xi-xj)^2 + (yi-yj)^2 ).
Constraints
- x1,y1,x2,y2 will be between -50 and 50, inclusive.
- (x1,y1) will be different from (x2,y2).
Examples
-1
0
1
0
Returns: {8, 48 }
In this example, point A is at (-1,0) and point B is at (1,0). Almost any point with a positive x-coordinate will be a valid answer. For example, your program can also return {100,100}, {2,0}, or {9,-100}. Note that you cannot return {1,0} because point C must not be the same as point B.
1
1
-1
-1
Returns: {25, -63 }
(x1,y1) is (1,1) and (x2,y2) is (-1,-1).
0
1
2
3
Returns: {41, 65 }
5
-4
-2
5
Returns: {68, 70 }
-50
-50
50
-50
Returns: {67, 4 }
-50
50
-49
49
Returns: {73, -25 }
-13
7
-12
33
Returns: {-10, 90 }
33
-30
-38
-1
Returns: {-98, 62 }
0
36
-25
-39
Returns: {-71, -79 }
14
-22
-30
14
Returns: {-94, -96 }
29
-1
-6
-30
Returns: {-98, 31 }
-22
36
21
-16
Returns: {37, -4 }
-47
-42
-5
19
Returns: {11, 73 }
-14
-39
0
16
Returns: {-74, 79 }
12
33
40
19
Returns: {81, -5 }
38
-8
39
19
Returns: {20, 95 }
-42
10
10
-28
Returns: {-8, -61 }
-44
-44
31
39
Returns: {-16, 22 }
-47
-26
7
3
Returns: {81, 11 }
34
-47
-26
19
Returns: {80, 86 }
-15
39
15
7
Returns: {-16, -87 }
25
27
-20
-38
Returns: {-53, 31 }
-12
13
-25
-22
Returns: {-31, -7 }
-14
-25
27
1
Returns: {72, 92 }
-19
26
-19
-42
Returns: {80, -37 }
-23
32
-24
10
Returns: {3, -29 }
42
-25
-12
33
Returns: {0, 60 }
-19
14
-31
28
Returns: {2, 62 }
21
6
14
-34
Returns: {18, -94 }
14
18
-31
-42
Returns: {-100, -21 }
18
7
-39
49
Returns: {-36, 30 }
21
17
12
-33
Returns: {58, -19 }
7
-12
-13
2
Returns: {21, 44 }
-14
-23
-5
6
Returns: {56, 3 }
-32
-12
7
-42
Returns: {72, 12 }
5
9
16
21
Returns: {72, 46 }
-38
15
8
23
Returns: {88, 96 }
-13
16
19
29
Returns: {54, 14 }
-30
16
2
-35
Returns: {58, -100 }
-3
6
34
-31
Returns: {56, 26 }
-36
35
-45
19
Returns: {77, -55 }
-49
-20
15
-28
Returns: {53, -39 }
-11
10
-40
-32
Returns: {-84, -53 }
23
16
1
-16
Returns: {-97, 27 }
-19
9
49
-27
Returns: {70, -79 }
21
-1
-48
-50
Returns: {-95, -13 }
45
1
-45
35
Returns: {6, 74 }
-45
-17
-42
-42
Returns: {-5, -95 }
-46
30
-13
17
Returns: {40, 40 }
4
-17
1
-30
Returns: {-4, -100 }
-33
29
47
-14
Returns: {98, -65 }
26
12
21
5
Returns: {91, -74 }
-33
-20
25
6
Returns: {99, 42 }
7
40
36
-39
Returns: {30, -89 }
-43
29
-43
34
Returns: {8, 83 }
27
27
-23
-28
Returns: {24, -94 }
50
50
-50
-50
Returns: {-61, 20 }
40
23
40
22
Returns: {-47, 11 }
10
10
10
40
Returns: {88, 41 }
1
1
2
2
Returns: {50, -42 }
0
0
1
1
Returns: {-52, 64 }
0
1
0
0
Returns: {-45, -36 }
-2
-1
-1
-2
Returns: {38, -26 }
1
0
-1
0
Returns: {-79, -29 }
-11
-11
-10
-10
Returns: {76, 30 }
48
10
46
10
Returns: {12, -96 }
-50
0
50
0
Returns: {91, 23 }
1
50
2
-50
Returns: {-95, -64 }
1
1
0
0
Returns: {-98, 93 }
50
50
49
50
Returns: {-3, -62 }
3
4
-10
3
Returns: {-60, -24 }
49
49
50
50
Returns: {68, 95 }
10
-1
10
-2
Returns: {15, -100 }
-50
-50
50
50
Returns: {98, 26 }
50
49
49
50
Returns: {-69, 95 }
5
0
4
0
Returns: {-16, 62 }
1
-1
-1
1
Returns: {-70, -49 }
0
0
2
0
Returns: {61, 3 }
1
0
-50
50
Returns: {-12, 55 }
-49
-49
-50
-50
Returns: {-70, -99 }
0
0
0
1
Returns: {66, 41 }
0
0
2
8
Returns: {-86, 96 }