Problem Statement
You are given an
Definition
- Class:
- RoadsAndFools
- Method:
- determineOrientation
- Parameters:
- int, int[]
- Returns:
- String
- Method signature:
- String determineOrientation(int length, int[] frontSides)
- (be sure your method is public)
Constraints
- length will be between 1 and 1000, inclusive.
- frontSides will contain between 1 and 50 elements, inclusive.
- each element of frontSides will be between 0 and length, inclusive.
Examples
5
{1, 2, 3}
Returns: "1 2 3"
The first milestone has the numbers 1 and 4 on it. The second and third both have the numbers 2 and 3 on their two sides. "1 2 3" is the only correct orientation.
5
{5, 2, 0}
Returns: "MULTIPLE SOLUTIONS"
There are two correct orientations: {0, 2, 5} and {0, 3, 5}.
5
{4, 4}
Returns: "1 4"
5
{4, 4, 4}
Returns: "NO SOLUTION"
5
{3}
Returns: "MULTIPLE SOLUTIONS"
Both {2} and {3} are correct orientations.
10
{0,1,2,3,4,5,6,7,8,9,10}
Returns: "0 1 2 3 4 5 6 7 8 9 10"
10
{5}
Returns: "5"
Both sides of the milestone contain the number 5, so the solution is unique.
38
{3,4,7,18,19,18,7,4,3}
Returns: "3 4 7 18 19 20 31 34 35"
37
{3,4,7,18,19,18,7,4,3}
Returns: "NO SOLUTION"
39
{3,4,7,18,19,18,7,4,3}
Returns: "MULTIPLE SOLUTIONS"
37
{3,4,7,18,18,7,4,3}
Returns: "3 4 7 18 19 30 33 34"
1
{1}
Returns: "MULTIPLE SOLUTIONS"
1
{0}
Returns: "MULTIPLE SOLUTIONS"
1
{0,1}
Returns: "0 1"
2
{1}
Returns: "1"
3
{1}
Returns: "MULTIPLE SOLUTIONS"
1000
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49}
Returns: "MULTIPLE SOLUTIONS"
50
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49}
Returns: "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49"
98
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49}
Returns: "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49"
99
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49}
Returns: "MULTIPLE SOLUTIONS"
97
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,48}
Returns: "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49"
96
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,48}
Returns: "NO SOLUTION"
100
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,48}
Returns: "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 52"
1000
{49,48,47,46,45,44,43,42,41,40,49,48,47,46,45,44,43,42,41,40,49,48,47,46,45,44,43,42,41,40,49,48,47,46,45,44,43,42,41,40,49,48,47,46,45,44,43,42,41,40}
Returns: "NO SOLUTION"
100
{49,48,47,46,45,44,43,42,41,40,49,48,47,46,45,44,43,42,41,40}
Returns: "NO SOLUTION"
100
{49,48,47,46,45,44,43,42,41,40,40,41,42,43,44,45,46,47,48,49}
Returns: "NO SOLUTION"
998
{35,234,499,499,464,888}
Returns: "NO SOLUTION"
998
{35,234,498,499,464,888}
Returns: "35 234 498 499 534 888"
998
{35,234,499,498,464,888}
Returns: "35 234 499 500 534 888"
777
{0,777}
Returns: "0 777"
777
{0,776}
Returns: "MULTIPLE SOLUTIONS"
777
{1,776}
Returns: "1 776"
100
{17, 83}
Returns: "17 83"
100
{83,50,17}
Returns: "17 50 83"
100
{83, 50, 50, 17}
Returns: "NO SOLUTION"
101
{83, 50, 50, 17}
Returns: "18 50 51 84"
99
{83, 50, 50, 17}
Returns: "16 49 50 82"
100
{50, 51, 52}
Returns: "50 51 52"
100
{51, 52, 53}
Returns: "MULTIPLE SOLUTIONS"
70
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
Returns: "NO SOLUTION"
10
{1, 5, 9 }
Returns: "1 5 9"
5
{4, 4, 4 }
Returns: "NO SOLUTION"
100
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }
Returns: "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50"
10
{2, 3 }
Returns: "MULTIPLE SOLUTIONS"
10
{0, 4, 7, 7 }
Returns: "NO SOLUTION"
10
{5, 6 }
Returns: "5 6"
10
{2, 5, 6 }
Returns: "2 5 6"
20
{20, 19, 17, 18, 15, 4, 14, 13, 11, 8, 10, 9, 7, 8, 5, 6, 3, 4, 18, 1 }
Returns: "NO SOLUTION"
8
{2, 3 }
Returns: "MULTIPLE SOLUTIONS"
1000
{0, 46, 68, 93, 123, 700, 301, 500, 600, 601, 602, 607, 608, 650, 756, 789, 978, 980, 981, 982, 983, 984, 985, 986, 987, 989, 990, 1000 }
Returns: "0 46 68 93 123 300 301 500 600 601 602 607 608 650 756 789 978 980 981 982 983 984 985 986 987 989 990 1000"
1000
{500 }
Returns: "500"
999
{1, 997, 996, 4, 5, 6, 7, 8, 9, 989, 11, 987, 13, 985, 15, 983, 982, 981, 980, 979, 978, 977, 976, 975, 974, 26, 27, 28, 970, 30, 31, 32, 33, 34, 35, 963, 962, 961, 960, 959, 41, 42, 43, 44, 954, 46, 47, 48, 49, 499 }
Returns: "MULTIPLE SOLUTIONS"
10
{1, 1, 5 }
Returns: "NO SOLUTION"
10
{1, 1, 2 }
Returns: "NO SOLUTION"
10
{4, 5 }
Returns: "4 5"
49
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 }
Returns: "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49"
5
{1, 1 }
Returns: "1 4"
10
{1, 5, 4, 2, 6, 9, 8 }
Returns: "NO SOLUTION"
10
{1, 2, 10 }
Returns: "MULTIPLE SOLUTIONS"
1000
{999, 991, 242, 353, 232, 123, 123, 576, 655, 323, 567, 554, 332, 0, 0, 245, 768, 23, 53, 45, 67, 89, 12, 13, 14, 15, 16, 16, 45, 57, 90, 100, 123, 234, 345, 456, 567, 768, 1, 2, 3, 4, 5, 5, 6, 7, 72, 71, 70, 74 }
Returns: "NO SOLUTION"
1000
{999, 991, 242, 353, 232, 123, 123, 576, 655, 323, 567, 554, 332, 0, 0, 245, 768 }
Returns: "NO SOLUTION"
10
{5 }
Returns: "5"
10
{0, 1, 5 }
Returns: "0 1 5"
10
{5, 1, 0 }
Returns: "5 9 10"
4
{1, 3, 4 }
Returns: "1 3 4"
8
{5, 3, 4 }
Returns: "NO SOLUTION"
50
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 18, 33, 34, 35, 36, 37, 38, 39, 10, 41, 42, 43, 44, 45, 46, 47, 48, 50 }
Returns: "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50"
10
{1, 2, 4 }
Returns: "MULTIPLE SOLUTIONS"
4
{4, 1, 2, 3, 4 }
Returns: "0 1 2 3 4"
55
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 }
Returns: "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30"
1000
{2, 34, 43, 230, 560, 324, 600, 23, 4, 234, 6, 56, 234, 333, 51, 150, 121, 663, 114, 888, 115, 151, 556, 441, 555, 559, 454, 151, 454, 454, 999, 454, 456, 512 }
Returns: "NO SOLUTION"
1000
{1, 3, 6, 7, 9, 12, 15, 200, 300, 301, 450, 6, 1, 1000 }
Returns: "MULTIPLE SOLUTIONS"
10
{9, 5, 4, 8 }
Returns: "1 5 6 8"
10
{1, 5, 10 }
Returns: "1 5 10"
10
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
Returns: "NO SOLUTION"
4
{0, 1, 2, 1, 0 }
Returns: "0 1 2 3 4"
1000
{1, 3, 54, 32, 67, 324, 123, 654, 898, 332, 888, 768, 645, 433, 789, 435, 195, 347, 583, 753, 324, 896, 432, 785, 425, 756, 432, 43, 444, 555, 666, 777, 888, 111, 116, 118, 129, 110, 435, 456, 343, 212, 678, 546, 437, 536, 657, 340, 760, 643 }
Returns: "NO SOLUTION"
10
{4 }
Returns: "MULTIPLE SOLUTIONS"
10
{2, 5, 2 }
Returns: "2 5 8"
999
{1, 2, 3, 980, 300, 301, 999 }
Returns: "MULTIPLE SOLUTIONS"
10
{1, 5 }
Returns: "1 5"
9
{4, 6 }
Returns: "MULTIPLE SOLUTIONS"
5
{2 }
Returns: "MULTIPLE SOLUTIONS"
9
{3 }
Returns: "MULTIPLE SOLUTIONS"
5
{0, 2, 0, 0 }
Returns: "NO SOLUTION"
100
{0, 50, 99 }
Returns: "0 50 99"
6
{3, 3 }
Returns: "NO SOLUTION"
6
{1, 1 }
Returns: "1 5"
10
{5, 8 }
Returns: "5 8"
100
{6, 3, 0 }
Returns: "MULTIPLE SOLUTIONS"
6
{1, 3, 5 }
Returns: "1 3 5"
5
{1, 2, 3 }
Returns: "1 2 3"
10
{1, 5, 2 }
Returns: "1 5 8"
10
{4, 7, 2, 7 }
Returns: "NO SOLUTION"
20
{10 }
Returns: "10"
5
{2, 3, 4 }
Returns: "2 3 4"
3
{1 }
Returns: "MULTIPLE SOLUTIONS"
5
{1, 4, 2, 3, 1 }
Returns: "NO SOLUTION"
10
{1, 6, 2, 3 }
Returns: "NO SOLUTION"
1000
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 }
Returns: "MULTIPLE SOLUTIONS"