Statistics

Problem Statement for "DistantPoints"

Problem Statement

There is a square on a plane with (0,0) as its lower left and (2^N+2, 2^N+2) as its upper right corner. It is known that K distinct points have to be painted. Each of them should be strictly inside the square and should have integral coordinates. The first point to be painted is always (1,1). For each of the next points, the one from which the Euclidean distance to the closest already painted point is maximum should be chosen. In case of ties, the leftmost point should be painted. If there are still several possibilities, the lowermost point is chosen. Return int[] with exactly two elements, the X and Y coordinates of the K-th point to be painted.

Definition

Class:
DistantPoints
Method:
getKth
Parameters:
int, int
Returns:
int[]
Method signature:
int[] getKth(int N, int K)
(be sure your method is public)

Notes

  • The Euclidean distance between two points (x1,y1) and (x2,y2) is equal to the square root of (x1-x2)^2+(y1-y2)^2.

Constraints

  • N will be between 2 and 10, inclusive.
  • K will be between 1 and the amount of points inside the square with side length 2^N+2, inclusive.

Examples

  1. 4

    2

    Returns: {17, 17 }

    The square stretches from (0,0) to (18,18). After you paint (1,1), the farthest point within the square is (17,17).

  2. 4

    3

    Returns: {1, 17 }

    Now there are two candidates. Both upper-left and bottom-right points within the square are equally distant from the already painted two, so we choose the leftmost one.

  3. 4

    5

    Returns: {9, 9 }

    After you paint all the corners, the best choice is the center of the square.

  4. 3

    14

    Returns: {1, 3 }

  5. 5

    1089

    Returns: {33, 32 }

  6. 2

    1

    Returns: {1, 1 }

  7. 2

    2

    Returns: {5, 5 }

  8. 2

    5

    Returns: {3, 3 }

  9. 2

    11

    Returns: {2, 4 }

  10. 2

    18

    Returns: {2, 5 }

  11. 2

    22

    Returns: {4, 3 }

  12. 2

    23

    Returns: {4, 5 }

  13. 2

    25

    Returns: {5, 4 }

  14. 3

    2

    Returns: {9, 9 }

  15. 3

    4

    Returns: {9, 1 }

  16. 3

    9

    Returns: {9, 5 }

  17. 3

    10

    Returns: {3, 3 }

  18. 3

    12

    Returns: {7, 3 }

  19. 3

    21

    Returns: {7, 1 }

  20. 3

    40

    Returns: {8, 6 }

  21. 3

    70

    Returns: {7, 4 }

  22. 3

    76

    Returns: {8, 7 }

  23. 3

    79

    Returns: {9, 4 }

  24. 4

    29

    Returns: {3, 15 }

  25. 4

    41

    Returns: {15, 15 }

  26. 4

    145

    Returns: {16, 16 }

  27. 4

    148

    Returns: {1, 6 }

  28. 4

    201

    Returns: {7, 10 }

  29. 4

    225

    Returns: {10, 7 }

  30. 4

    231

    Returns: {11, 2 }

  31. 4

    266

    Returns: {15, 4 }

  32. 4

    276

    Returns: {16, 7 }

  33. 4

    277

    Returns: {16, 9 }

  34. 5

    1

    Returns: {1, 1 }

  35. 5

    2

    Returns: {33, 33 }

  36. 5

    5

    Returns: {17, 17 }

  37. 5

    16

    Returns: {9, 1 }

  38. 5

    67

    Returns: {21, 25 }

  39. 5

    72

    Returns: {25, 29 }

  40. 5

    190

    Returns: {11, 9 }

  41. 5

    191

    Returns: {11, 13 }

  42. 5

    192

    Returns: {11, 17 }

  43. 5

    196

    Returns: {11, 33 }

  44. 5

    197

    Returns: {13, 3 }

  45. 5

    222

    Returns: {19, 1 }

  46. 5

    233

    Returns: {21, 11 }

  47. 5

    278

    Returns: {31, 21 }

  48. 5

    400

    Returns: {14, 30 }

  49. 5

    402

    Returns: {16, 2 }

  50. 5

    412

    Returns: {16, 22 }

  51. 5

    425

    Returns: {18, 16 }

  52. 5

    434

    Returns: {20, 2 }

  53. 5

    528

    Returns: {30, 30 }

  54. 5

    545

    Returns: {32, 32 }

  55. 5

    546

    Returns: {1, 2 }

  56. 5

    666

    Returns: {8, 11 }

  57. 5

    667

    Returns: {8, 13 }

  58. 5

    999

    Returns: {28, 17 }

  59. 5

    1062

    Returns: {32, 11 }

  60. 6

    8

    Returns: {33, 65 }

  61. 6

    50

    Returns: {9, 65 }

  62. 6

    101

    Returns: {21, 29 }

  63. 6

    202

    Returns: {25, 45 }

  64. 6

    303

    Returns: {3, 55 }

  65. 6

    304

    Returns: {3, 59 }

  66. 6

    307

    Returns: {7, 7 }

  67. 6

    445

    Returns: {39, 47 }

  68. 6

    780

    Returns: {29, 15 }

  69. 6

    999

    Returns: {55, 33 }

  70. 6

    1109

    Returns: {2, 40 }

  71. 6

    1126

    Returns: {4, 10 }

  72. 6

    1569

    Returns: {30, 64 }

  73. 6

    1570

    Returns: {32, 2 }

  74. 6

    1970

    Returns: {56, 34 }

  75. 6

    2969

    Returns: {27, 22 }

  76. 6

    3571

    Returns: {45, 56 }

  77. 6

    4000

    Returns: {59, 4 }

  78. 6

    4204

    Returns: {65, 22 }

  79. 7

    25

    Returns: {129, 97 }

  80. 7

    61

    Returns: {65, 49 }

  81. 7

    152

    Returns: {1, 105 }

  82. 7

    244

    Returns: {89, 81 }

  83. 7

    1000

    Returns: {109, 73 }

  84. 7

    2000

    Returns: {115, 59 }

  85. 7

    2981

    Returns: {53, 91 }

  86. 7

    3493

    Returns: {85, 59 }

  87. 7

    3523

    Returns: {87, 49 }

  88. 7

    7000

    Returns: {88, 46 }

  89. 8

    3

    Returns: {1, 257 }

  90. 8

    301

    Returns: {9, 185 }

  91. 8

    2148

    Returns: {5, 17 }

  92. 8

    2149

    Returns: {5, 25 }

  93. 8

    2223

    Returns: {13, 97 }

  94. 8

    3939

    Returns: {225, 45 }

  95. 8

    10412

    Returns: {65, 107 }

  96. 8

    25555

    Returns: {140, 164 }

  97. 8

    49021

    Returns: {125, 124 }

  98. 8

    50005

    Returns: {133, 36 }

  99. 8

    50505

    Returns: {137, 8 }

  100. 8

    51515

    Returns: {144, 229 }

  101. 8

    55815

    Returns: {178, 91 }

  102. 8

    61814

    Returns: {225, 10 }

  103. 8

    63000

    Returns: {234, 69 }

  104. 8

    66044

    Returns: {257, 246 }

  105. 8

    66049

    Returns: {257, 256 }

  106. 9

    1

    Returns: {1, 1 }

  107. 9

    2

    Returns: {513, 513 }

  108. 9

    4

    Returns: {513, 1 }

  109. 9

    5

    Returns: {257, 257 }

  110. 9

    9

    Returns: {513, 257 }

  111. 9

    123

    Returns: {353, 97 }

  112. 9

    124

    Returns: {353, 161 }

  113. 9

    141

    Returns: {481, 225 }

  114. 9

    821

    Returns: {257, 369 }

  115. 9

    1012

    Returns: {449, 145 }

  116. 9

    1255

    Returns: {89, 89 }

  117. 9

    5287

    Returns: {133, 301 }

  118. 9

    6367

    Returns: {269, 237 }

  119. 9

    9052

    Returns: {45, 169 }

  120. 9

    9929

    Returns: {97, 477 }

  121. 9

    28821

    Returns: {383, 79 }

  122. 9

    30319

    Returns: {427, 439 }

  123. 9

    55152

    Returns: {345, 99 }

  124. 9

    77825

    Returns: {92, 512 }

  125. 9

    77826

    Returns: {94, 2 }

  126. 9

    92571

    Returns: {208, 308 }

  127. 9

    110000

    Returns: {344, 350 }

  128. 9

    120000

    Returns: {422, 382 }

  129. 9

    120212

    Returns: {424, 294 }

  130. 9

    146000

    Returns: {57, 102 }

  131. 9

    168620

    Returns: {145, 198 }

  132. 9

    170636

    Returns: {153, 126 }

  133. 9

    190002

    Returns: {228, 383 }

  134. 9

    242414

    Returns: {433, 42 }

  135. 9

    243491

    Returns: {437, 144 }

  136. 9

    261000

    Returns: {505, 278 }

  137. 9

    261522

    Returns: {507, 296 }

  138. 9

    263111

    Returns: {513, 396 }

  139. 9

    263167

    Returns: {513, 508 }

  140. 9

    263168

    Returns: {513, 510 }

  141. 9

    263169

    Returns: {513, 512 }

  142. 10

    1

    Returns: {1, 1 }

  143. 10

    2

    Returns: {1025, 1025 }

  144. 10

    3

    Returns: {1, 1025 }

  145. 10

    4

    Returns: {1025, 1 }

  146. 10

    5

    Returns: {513, 513 }

  147. 10

    6

    Returns: {1, 513 }

  148. 10

    13

    Returns: {769, 769 }

  149. 10

    24

    Returns: {1025, 257 }

  150. 10

    450

    Returns: {673, 33 }

  151. 10

    3031

    Returns: {449, 241 }

  152. 10

    3960

    Returns: {897, 849 }

  153. 10

    17063

    Returns: {29, 301 }

  154. 10

    29111

    Returns: {781, 429 }

  155. 10

    50000

    Returns: {529, 101 }

  156. 10

    99922

    Returns: {531, 323 }

  157. 10

    100002

    Returns: {531, 643 }

  158. 10

    105627

    Returns: {619, 615 }

  159. 10

    122762

    Returns: {887, 547 }

  160. 10

    192918

    Returns: {479, 117 }

  161. 10

    222192

    Returns: {707, 249 }

  162. 10

    393933

    Returns: {512, 408 }

  163. 10

    449125

    Returns: {728, 200 }

  164. 10

    474998

    Returns: {828, 746 }

  165. 10

    475666

    Returns: {832, 34 }

  166. 10

    478977

    Returns: {844, 512 }

  167. 10

    499494

    Returns: {924, 586 }

  168. 10

    500522

    Returns: {928, 594 }

  169. 10

    501895

    Returns: {934, 268 }

  170. 10

    509959

    Returns: {966, 12 }

  171. 10

    534001

    Returns: {17, 976 }

  172. 10

    600000

    Returns: {146, 749 }

  173. 10

    709259

    Returns: {359, 942 }

  174. 10

    766922

    Returns: {472, 443 }

  175. 10

    778461

    Returns: {494, 971 }

  176. 10

    902512

    Returns: {736, 1023 }

  177. 10

    955612

    Returns: {840, 623 }

  178. 10

    1000000

    Returns: {927, 224 }

  179. 10

    1001012

    Returns: {929, 198 }

  180. 10

    1011202

    Returns: {949, 78 }

  181. 10

    1042494

    Returns: {1010, 137 }

  182. 10

    1050000

    Returns: {1024, 799 }

  183. 10

    1050211

    Returns: {1025, 196 }

  184. 10

    1050585

    Returns: {1025, 944 }

  185. 10

    1050620

    Returns: {1025, 1014 }

  186. 10

    1050625

    Returns: {1025, 1024 }


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: