Statistics

Problem Statement for "FindThePerfectTriangle"

Problem Statement

You are given the ints perimeter and area. Your task is to find a triangle with the following properties:

  • The coordinates of each vertex are integers between 0 and 3000, inclusive.
  • The perimeter of the triangle must be exactly perimeter, and its area must be exactly area.

If there are multiple solutions, you may choose any of them. Return a int[] with six elements: {x1, y1, x2, y2, x3, y3}, where (x1, y1), (x2, y2), and (x3, y3) are the coordinates of the vertices of your triangle. If there is no solution, return an empty int[] instead.

Definition

Class:
FindThePerfectTriangle
Method:
constructTriangle
Parameters:
int, int
Returns:
int[]
Method signature:
int[] constructTriangle(int area, int perimeter)
(be sure your method is public)

Constraints

  • area will be between 1 and 1,000,000, inclusive.
  • perimeter will be between 1 and 1000, inclusive.

Examples

  1. 6

    11

    Returns: { }

    There are no valid triangles with area 6 and perimeter 11.

  2. 6

    12

    Returns: {1, 1, 1, 4, 5, 4 }

    The example output describes a right triangle with vertices at (1, 1), (1, 4) and (5, 4). Its sides have lengths 3, 4, and 5, hence its perimeter is 12. The area of the triangle is (3*4)/2 = 6.

  3. 37128

    882

    Returns: {137, 137, 273, 410, 1, 410 }

  4. 72

    64

    Returns: {19, 19, 22, 23, 1, 43 }

  5. 126

    108

    Returns: {46, 46, 49, 50, 1, 70 }

  6. 150

    60

    Returns: {1, 1, 1, 16, 21, 16 }

  7. 168

    84

    Returns: {1, 1, 1, 15, 25, 33 }

  8. 252

    84

    Returns: {22, 22, 31, 34, 1, 50 }

  9. 252

    98

    Returns: {28, 28, 33, 40, 1, 64 }

  10. 288

    128

    Returns: {37, 37, 43, 45, 1, 85 }

  11. 288

    162

    Returns: {1, 1, 9, 16, 65, 49 }

  12. 336

    98

    Returns: {33, 33, 41, 48, 1, 57 }

  13. 336

    128

    Returns: {12, 12, 21, 24, 1, 72 }

  14. 396

    176

    Returns: {1, 1, 17, 31, 61, 64 }

  15. 396

    242

    Returns: {1, 1, 6, 13, 97, 73 }

  16. 420

    98

    Returns: {13, 13, 25, 48, 1, 48 }

  17. 420

    150

    Returns: {1, 1, 11, 25, 56, 49 }

  18. 41580

    990

    Returns: {1, 1, 1, 265, 316, 265 }

  19. 41664

    992

    Returns: {156, 156, 300, 348, 1, 528 }

  20. 41976

    954

    Returns: {157, 157, 316, 369, 1, 477 }

  21. 42000

    960

    Returns: {226, 226, 281, 526, 1, 526 }

  22. 42000

    980

    Returns: {241, 241, 289, 527, 1, 561 }

  23. 42000

    1000

    Returns: {253, 253, 287, 541, 1, 589 }

  24. 42504

    966

    Returns: {39, 39, 246, 315, 1, 399 }

  25. 42750

    950

    Returns: {161, 161, 286, 461, 1, 461 }

  26. 43362

    972

    Returns: {220, 220, 337, 460, 1, 512 }

  27. 43848

    972

    Returns: {115, 115, 289, 347, 1, 467 }

  28. 44652

    976

    Returns: {184, 184, 367, 428, 1, 428 }

  29. 45000

    1000

    Returns: {276, 276, 376, 516, 1, 516 }

  30. 46200

    980

    Returns: {166, 166, 331, 446, 1, 446 }

  31. 46800

    1000

    Returns: {121, 121, 313, 341, 1, 471 }

  32. 48000

    1000

    Returns: {161, 161, 321, 461, 1, 461 }

  33. 6

    12

    Returns: {1, 1, 1, 4, 5, 4 }

  34. 12

    16

    Returns: {4, 4, 7, 8, 1, 8 }

  35. 12

    18

    Returns: {1, 1, 4, 5, 1, 9 }

    In this test case our solution constructed an isosceles triangle with vertices at (1, 1), (4, 5) and (1, 9).

  36. 24

    24

    Returns: {1, 1, 1, 7, 9, 7 }

  37. 24

    32

    Returns: {1, 1, 1, 5, 13, 10 }

  38. 30

    30

    Returns: {1, 1, 1, 6, 13, 6 }

  39. 36

    36

    Returns: {1, 1, 1, 10, 9, 16 }

  40. 36

    54

    Returns: {1, 1, 1, 4, 25, 11 }

  41. 42

    42

    Returns: {1, 1, 1, 8, 13, 17 }

  42. 48

    32

    Returns: {7, 7, 13, 15, 1, 15 }

  43. 48

    36

    Returns: {1, 1, 7, 9, 1, 17 }

  44. 54

    36

    Returns: {1, 1, 1, 10, 13, 10 }

  45. 60

    36

    Returns: {6, 6, 11, 18, 1, 18 }

  46. 60

    40

    Returns: {1, 1, 1, 9, 16, 9 }

  47. 43740

    972

    Returns: {136, 136, 271, 460, 1, 460 }

  48. 43824

    996

    Returns: {136, 136, 250, 488, 1, 488 }

  49. 43890

    980

    Returns: {221, 221, 381, 452, 1, 452 }

  50. 43920

    976

    Returns: {239, 239, 367, 479, 1, 479 }

  51. 44100

    1000

    Returns: {273, 273, 393, 498, 1, 498 }

  52. 44280

    984

    Returns: {253, 253, 370, 493, 1, 493 }

  53. 44352

    968

    Returns: {145, 145, 289, 453, 1, 453 }

  54. 44436

    966

    Returns: {208, 208, 323, 484, 1, 484 }

  55. 44460

    988

    Returns: {274, 274, 343, 534, 1, 534 }

  56. 44730

    980

    Returns: {241, 241, 356, 493, 1, 493 }

  57. 44880

    968

    Returns: {171, 171, 341, 435, 1, 435 }

  58. 45360

    972

    Returns: {169, 169, 337, 439, 1, 439 }

  59. 45600

    1000

    Returns: {253, 253, 381, 493, 1, 493 }

  60. 46128

    992

    Returns: {187, 187, 373, 435, 1, 435 }

  61. 46200

    1000

    Returns: {177, 177, 281, 507, 1, 507 }

  62. 7980

    798

    Returns: {1, 1, 1, 286, 57, 391 }

  63. 37908

    936

    Returns: {289, 289, 352, 505, 1, 505 }

  64. 4860

    540

    Returns: {1, 1, 1, 55, 181, 190 }

  65. 13680

    768

    Returns: {1, 1, 1, 115, 241, 276 }

  66. 5082

    462

    Returns: {1, 1, 1, 78, 133, 177 }

  67. 36666

    972

    Returns: {341, 341, 389, 530, 1, 530 }

  68. 14904

    648

    Returns: {232, 232, 277, 340, 1, 340 }

  69. 3564

    528

    Returns: {1, 1, 49, 91, 181, 190 }

  70. 13860

    770

    Returns: {1, 1, 1, 89, 316, 169 }

  71. 8316

    792

    Returns: {1, 1, 1, 89, 190, 341 }

  72. 24570

    780

    Returns: {1, 1, 1, 181, 274, 181 }

  73. 4332

    342

    Returns: {1, 1, 58, 77, 1, 153 }

  74. 11880

    576

    Returns: {1, 1, 1, 199, 121, 226 }

  75. 15120

    840

    Returns: {1, 1, 1, 85, 361, 151 }

  76. 18096

    754

    Returns: {92, 92, 117, 404, 1, 404 }

  77. 1176

    294

    Returns: {1, 1, 1, 99, 25, 144 }

  78. 6468

    462

    Returns: {1, 1, 1, 78, 169, 127 }

  79. 13860

    616

    Returns: {1, 1, 1, 169, 166, 221 }

  80. 4608

    648

    Returns: {1, 1, 33, 61, 257, 193 }

  81. 6960

    580

    Returns: {1, 1, 1, 59, 241, 129 }

  82. 31740

    828

    Returns: {116, 116, 231, 392, 1, 392 }

  83. 5520

    920

    Returns: {1, 1, 1, 93, 121, 443 }

  84. 24276

    714

    Returns: {154, 154, 239, 358, 1, 358 }

  85. 600

    160

    Returns: {1, 1, 1, 21, 61, 46 }

  86. 34944

    896

    Returns: {221, 221, 365, 413, 1, 413 }

  87. 8352

    696

    Returns: {1, 1, 1, 117, 145, 309 }

  88. 2106

    324

    Returns: {1, 1, 28, 37, 1, 157 }

  89. 28080

    768

    Returns: {118, 118, 235, 358, 1, 358 }

  90. 10374

    798

    Returns: {305, 305, 316, 365, 1, 533 }

  91. 6600

    440

    Returns: {1, 1, 1, 111, 121, 161 }

  92. 14364

    684

    Returns: {1, 1, 1, 172, 169, 271 }

  93. 10296

    702

    Returns: {1, 1, 1, 144, 145, 309 }

  94. 10560

    968

    Returns: {1, 1, 45, 241, 1, 481 }

  95. 39270

    924

    Returns: {193, 193, 358, 413, 1, 413 }

  96. 2310

    308

    Returns: {1, 1, 1, 45, 106, 101 }

  97. 6750

    450

    Returns: {1, 1, 1, 76, 181, 76 }

  98. 11550

    770

    Returns: {1, 1, 1, 176, 133, 352 }

  99. 5280

    384

    Returns: {1, 1, 1, 133, 81, 151 }

  100. 27846

    918

    Returns: {1, 1, 1, 222, 253, 337 }

  101. 8160

    640

    Returns: {1, 1, 1, 273, 61, 298 }

  102. 8448

    968

    Returns: {1, 1, 29, 97, 289, 385 }

  103. 5856

    512

    Returns: {1, 1, 49, 56, 1, 245 }

  104. 5760

    648

    Returns: {1, 1, 37, 161, 1, 321 }

  105. 22344

    912

    Returns: {385, 385, 400, 497, 1, 497 }

  106. 31122

    988

    Returns: {1, 1, 1, 229, 274, 365 }

  107. 66

    44

    Returns: {1, 1, 1, 12, 13, 17 }

  108. 35640

    864

    Returns: {181, 181, 298, 421, 1, 421 }

  109. 4290

    726

    Returns: {226, 226, 241, 246, 1, 498 }

  110. 18096

    928

    Returns: {1, 1, 1, 88, 417, 88 }

  111. 38346

    996

    Returns: {250, 250, 346, 430, 1, 582 }

  112. 1659

    218

    Returns: { }

  113. 8913

    811

    Returns: { }

  114. 13861

    772

    Returns: { }

  115. 22323

    932

    Returns: { }

  116. 32547

    905

    Returns: { }

  117. 3866

    394

    Returns: { }

  118. 10585

    673

    Returns: { }

  119. 26281

    801

    Returns: { }

  120. 13982

    933

    Returns: { }

  121. 171

    101

    Returns: { }

  122. 13861

    561

    Returns: { }

  123. 3025

    326

    Returns: { }

  124. 4563

    383

    Returns: { }

  125. 158

    81

    Returns: { }

  126. 3026

    395

    Returns: { }

  127. 4621

    531

    Returns: { }

  128. 36483

    914

    Returns: { }

  129. 37803

    961

    Returns: { }

  130. 8186

    995

    Returns: { }

  131. 6483

    541

    Returns: { }

  132. 15962

    841

    Returns: { }

  133. 26401

    883

    Returns: { }

  134. 9579

    686

    Returns: { }

  135. 10713

    715

    Returns: { }

  136. 18902

    751

    Returns: { }

  137. 30361

    970

    Returns: { }

  138. 8912

    812

    Returns: { }

  139. 4563

    481

    Returns: { }

  140. 5041

    769

    Returns: { }

  141. 8613

    494

    Returns: { }

  142. 4107

    577

    Returns: { }

  143. 3963

    433

    Returns: { }

  144. 20066

    914

    Returns: { }

  145. 16922

    943

    Returns: { }

  146. 7983

    535

    Returns: { }

  147. 10585

    673

    Returns: { }

  148. 16465

    589

    Returns: { }

  149. 1982

    217

    Returns: { }

  150. 1921

    321

    Returns: { }

  151. 3530

    450

    Returns: { }

  152. 441890

    52

    Returns: { }

  153. 68747

    943

    Returns: { }

  154. 181740

    593

    Returns: { }

  155. 287469

    370

    Returns: { }

  156. 612516

    443

    Returns: { }

  157. 396007

    525

    Returns: { }

  158. 3299

    412

    Returns: { }

  159. 357163

    699

    Returns: { }

  160. 863571

    976

    Returns: { }

  161. 387455

    217

    Returns: { }

  162. 793590

    343

    Returns: { }

  163. 114427

    220

    Returns: { }

  164. 141342

    584

    Returns: { }

  165. 884239

    496

    Returns: { }

  166. 965875

    601

    Returns: { }

  167. 731258

    449

    Returns: { }

  168. 443377

    40

    Returns: { }

  169. 537428

    238

    Returns: { }

  170. 172455

    517

    Returns: { }

  171. 971653

    433

    Returns: { }

  172. 1000000

    1000

    Returns: { }

  173. 1

    1

    Returns: { }

  174. 23664

    986

    Returns: {349, 349, 409, 440, 1, 610 }

  175. 26334

    836

    Returns: {141, 141, 229, 306, 1, 477 }

  176. 2184

    546

    Returns: {1, 1, 64, 85, 129, 241 }

  177. 60

    60

    Returns: {1, 1, 1, 7, 21, 22 }

  178. 14364

    722

    Returns: {109, 109, 169, 200, 1, 424 }

  179. 84

    42

    Returns: {10, 10, 15, 22, 1, 22 }


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: