Problem Statement
You are given the
- 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
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
6
11
Returns: { }
There are no valid triangles with area 6 and perimeter 11.
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.
37128
882
Returns: {137, 137, 273, 410, 1, 410 }
72
64
Returns: {19, 19, 22, 23, 1, 43 }
126
108
Returns: {46, 46, 49, 50, 1, 70 }
150
60
Returns: {1, 1, 1, 16, 21, 16 }
168
84
Returns: {1, 1, 1, 15, 25, 33 }
252
84
Returns: {22, 22, 31, 34, 1, 50 }
252
98
Returns: {28, 28, 33, 40, 1, 64 }
288
128
Returns: {37, 37, 43, 45, 1, 85 }
288
162
Returns: {1, 1, 9, 16, 65, 49 }
336
98
Returns: {33, 33, 41, 48, 1, 57 }
336
128
Returns: {12, 12, 21, 24, 1, 72 }
396
176
Returns: {1, 1, 17, 31, 61, 64 }
396
242
Returns: {1, 1, 6, 13, 97, 73 }
420
98
Returns: {13, 13, 25, 48, 1, 48 }
420
150
Returns: {1, 1, 11, 25, 56, 49 }
41580
990
Returns: {1, 1, 1, 265, 316, 265 }
41664
992
Returns: {156, 156, 300, 348, 1, 528 }
41976
954
Returns: {157, 157, 316, 369, 1, 477 }
42000
960
Returns: {226, 226, 281, 526, 1, 526 }
42000
980
Returns: {241, 241, 289, 527, 1, 561 }
42000
1000
Returns: {253, 253, 287, 541, 1, 589 }
42504
966
Returns: {39, 39, 246, 315, 1, 399 }
42750
950
Returns: {161, 161, 286, 461, 1, 461 }
43362
972
Returns: {220, 220, 337, 460, 1, 512 }
43848
972
Returns: {115, 115, 289, 347, 1, 467 }
44652
976
Returns: {184, 184, 367, 428, 1, 428 }
45000
1000
Returns: {276, 276, 376, 516, 1, 516 }
46200
980
Returns: {166, 166, 331, 446, 1, 446 }
46800
1000
Returns: {121, 121, 313, 341, 1, 471 }
48000
1000
Returns: {161, 161, 321, 461, 1, 461 }
6
12
Returns: {1, 1, 1, 4, 5, 4 }
12
16
Returns: {4, 4, 7, 8, 1, 8 }
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).
24
24
Returns: {1, 1, 1, 7, 9, 7 }
24
32
Returns: {1, 1, 1, 5, 13, 10 }
30
30
Returns: {1, 1, 1, 6, 13, 6 }
36
36
Returns: {1, 1, 1, 10, 9, 16 }
36
54
Returns: {1, 1, 1, 4, 25, 11 }
42
42
Returns: {1, 1, 1, 8, 13, 17 }
48
32
Returns: {7, 7, 13, 15, 1, 15 }
48
36
Returns: {1, 1, 7, 9, 1, 17 }
54
36
Returns: {1, 1, 1, 10, 13, 10 }
60
36
Returns: {6, 6, 11, 18, 1, 18 }
60
40
Returns: {1, 1, 1, 9, 16, 9 }
43740
972
Returns: {136, 136, 271, 460, 1, 460 }
43824
996
Returns: {136, 136, 250, 488, 1, 488 }
43890
980
Returns: {221, 221, 381, 452, 1, 452 }
43920
976
Returns: {239, 239, 367, 479, 1, 479 }
44100
1000
Returns: {273, 273, 393, 498, 1, 498 }
44280
984
Returns: {253, 253, 370, 493, 1, 493 }
44352
968
Returns: {145, 145, 289, 453, 1, 453 }
44436
966
Returns: {208, 208, 323, 484, 1, 484 }
44460
988
Returns: {274, 274, 343, 534, 1, 534 }
44730
980
Returns: {241, 241, 356, 493, 1, 493 }
44880
968
Returns: {171, 171, 341, 435, 1, 435 }
45360
972
Returns: {169, 169, 337, 439, 1, 439 }
45600
1000
Returns: {253, 253, 381, 493, 1, 493 }
46128
992
Returns: {187, 187, 373, 435, 1, 435 }
46200
1000
Returns: {177, 177, 281, 507, 1, 507 }
7980
798
Returns: {1, 1, 1, 286, 57, 391 }
37908
936
Returns: {289, 289, 352, 505, 1, 505 }
4860
540
Returns: {1, 1, 1, 55, 181, 190 }
13680
768
Returns: {1, 1, 1, 115, 241, 276 }
5082
462
Returns: {1, 1, 1, 78, 133, 177 }
36666
972
Returns: {341, 341, 389, 530, 1, 530 }
14904
648
Returns: {232, 232, 277, 340, 1, 340 }
3564
528
Returns: {1, 1, 49, 91, 181, 190 }
13860
770
Returns: {1, 1, 1, 89, 316, 169 }
8316
792
Returns: {1, 1, 1, 89, 190, 341 }
24570
780
Returns: {1, 1, 1, 181, 274, 181 }
4332
342
Returns: {1, 1, 58, 77, 1, 153 }
11880
576
Returns: {1, 1, 1, 199, 121, 226 }
15120
840
Returns: {1, 1, 1, 85, 361, 151 }
18096
754
Returns: {92, 92, 117, 404, 1, 404 }
1176
294
Returns: {1, 1, 1, 99, 25, 144 }
6468
462
Returns: {1, 1, 1, 78, 169, 127 }
13860
616
Returns: {1, 1, 1, 169, 166, 221 }
4608
648
Returns: {1, 1, 33, 61, 257, 193 }
6960
580
Returns: {1, 1, 1, 59, 241, 129 }
31740
828
Returns: {116, 116, 231, 392, 1, 392 }
5520
920
Returns: {1, 1, 1, 93, 121, 443 }
24276
714
Returns: {154, 154, 239, 358, 1, 358 }
600
160
Returns: {1, 1, 1, 21, 61, 46 }
34944
896
Returns: {221, 221, 365, 413, 1, 413 }
8352
696
Returns: {1, 1, 1, 117, 145, 309 }
2106
324
Returns: {1, 1, 28, 37, 1, 157 }
28080
768
Returns: {118, 118, 235, 358, 1, 358 }
10374
798
Returns: {305, 305, 316, 365, 1, 533 }
6600
440
Returns: {1, 1, 1, 111, 121, 161 }
14364
684
Returns: {1, 1, 1, 172, 169, 271 }
10296
702
Returns: {1, 1, 1, 144, 145, 309 }
10560
968
Returns: {1, 1, 45, 241, 1, 481 }
39270
924
Returns: {193, 193, 358, 413, 1, 413 }
2310
308
Returns: {1, 1, 1, 45, 106, 101 }
6750
450
Returns: {1, 1, 1, 76, 181, 76 }
11550
770
Returns: {1, 1, 1, 176, 133, 352 }
5280
384
Returns: {1, 1, 1, 133, 81, 151 }
27846
918
Returns: {1, 1, 1, 222, 253, 337 }
8160
640
Returns: {1, 1, 1, 273, 61, 298 }
8448
968
Returns: {1, 1, 29, 97, 289, 385 }
5856
512
Returns: {1, 1, 49, 56, 1, 245 }
5760
648
Returns: {1, 1, 37, 161, 1, 321 }
22344
912
Returns: {385, 385, 400, 497, 1, 497 }
31122
988
Returns: {1, 1, 1, 229, 274, 365 }
66
44
Returns: {1, 1, 1, 12, 13, 17 }
35640
864
Returns: {181, 181, 298, 421, 1, 421 }
4290
726
Returns: {226, 226, 241, 246, 1, 498 }
18096
928
Returns: {1, 1, 1, 88, 417, 88 }
38346
996
Returns: {250, 250, 346, 430, 1, 582 }
1659
218
Returns: { }
8913
811
Returns: { }
13861
772
Returns: { }
22323
932
Returns: { }
32547
905
Returns: { }
3866
394
Returns: { }
10585
673
Returns: { }
26281
801
Returns: { }
13982
933
Returns: { }
171
101
Returns: { }
13861
561
Returns: { }
3025
326
Returns: { }
4563
383
Returns: { }
158
81
Returns: { }
3026
395
Returns: { }
4621
531
Returns: { }
36483
914
Returns: { }
37803
961
Returns: { }
8186
995
Returns: { }
6483
541
Returns: { }
15962
841
Returns: { }
26401
883
Returns: { }
9579
686
Returns: { }
10713
715
Returns: { }
18902
751
Returns: { }
30361
970
Returns: { }
8912
812
Returns: { }
4563
481
Returns: { }
5041
769
Returns: { }
8613
494
Returns: { }
4107
577
Returns: { }
3963
433
Returns: { }
20066
914
Returns: { }
16922
943
Returns: { }
7983
535
Returns: { }
10585
673
Returns: { }
16465
589
Returns: { }
1982
217
Returns: { }
1921
321
Returns: { }
3530
450
Returns: { }
441890
52
Returns: { }
68747
943
Returns: { }
181740
593
Returns: { }
287469
370
Returns: { }
612516
443
Returns: { }
396007
525
Returns: { }
3299
412
Returns: { }
357163
699
Returns: { }
863571
976
Returns: { }
387455
217
Returns: { }
793590
343
Returns: { }
114427
220
Returns: { }
141342
584
Returns: { }
884239
496
Returns: { }
965875
601
Returns: { }
731258
449
Returns: { }
443377
40
Returns: { }
537428
238
Returns: { }
172455
517
Returns: { }
971653
433
Returns: { }
1000000
1000
Returns: { }
1
1
Returns: { }
23664
986
Returns: {349, 349, 409, 440, 1, 610 }
26334
836
Returns: {141, 141, 229, 306, 1, 477 }
2184
546
Returns: {1, 1, 64, 85, 129, 241 }
60
60
Returns: {1, 1, 1, 7, 21, 22 }
14364
722
Returns: {109, 109, 169, 200, 1, 424 }
84
42
Returns: {10, 10, 15, 22, 1, 22 }