Problem Statement
A teacher is trying to arrange a group of students into a line. The teacher knows that whenever she places two students with the same age next to each other, they will talk and disturb everyone. She wants to avoid that.
You are given a
Determine whether it is possible for the teacher to arrange the students in a line so that there are no disturbances. If it can be done, return "possible" (quotes for clarity). If there will always be some pair of adjacent students with the same age, return "impossible". Note that the return value is case-sensitive.
Definition
- Class:
- PeacefulLine
- Method:
- makeLine
- Parameters:
- int[]
- Returns:
- String
- Method signature:
- String makeLine(int[] x)
- (be sure your method is public)
Constraints
- x will have between 1 and 25 elements, inclusive.
- Each element of x will be between 1 and 25, inclusive.
Examples
{1,2,3,4}
Returns: "possible"
In this case, no two students have the same age so any order works.
{1,1,1,2}
Returns: "impossible"
Regardless of which order we choose, two of the 1s will always be adjacent.
{1,1,2,2,3,3,4,4}
Returns: "possible"
One example of a peaceful line is {1,2,3,4,1,2,3,4}
{3,3,3,3,13,13,13,13}
Returns: "possible"
{3,7,7,7,3,7,7,7,3}
Returns: "impossible"
{25,12,3,25,25,12,12,12,12,3,25}
Returns: "possible"
{3,3,3,3,13,13,13,13,3}
Returns: "possible"
{21}
Returns: "possible"
{12,12,12,12,12,4,4,4,4}
Returns: "possible"
{16,17,16,17,16,17,16,17,16,17,17}
Returns: "possible"
{5,5,3,10,9,2,1,2,3,4}
Returns: "possible"
{7,5,3,7,7,5,5,7,6,6,8,2,3,3,3,4,2,8,9,2,6}
Returns: "possible"
{3,2,1,3,2,3,3,2,1,1,1,1,2,1,3,3,3,3,1,3,1,3,2,3}
Returns: "possible"
{11,2,4,11,17,12,9,17,6}
Returns: "possible"
{3,1,15,15,4,4,12,21,8,11,15,2}
Returns: "possible"
{20,7,14,11,6,12}
Returns: "possible"
{2,6,1,5,6,6,4,3,6,5,3,5,3,1,3,5,4}
Returns: "possible"
{4,5,5,7,2,6,7,2,3,3,7,5,3,4,1,1,3,6,3,1,6,7,2,6}
Returns: "possible"
{5,1,7,15,9,11,16,6,8,8,8,13,7,8,12,3,12,15}
Returns: "possible"
{4,7,4,6,1,1,5,2,2,6,5,4,1,2,3,1,4,5}
Returns: "possible"
{14,20,9,15,2,14,13,2,7,16,12,4,11,19,14,12,5,6}
Returns: "possible"
{1,1,1,2,2,2,2,2,3,3,3,3,2,1}
Returns: "possible"
{4,3,8,6,7,1,6,8,4,4,8,3,6,3,7,8,7,4,4,8,4}
Returns: "possible"
{4,6,5,7,7,4,5,6,3,1,6,2,4,5,2,1,6,6,5,1}
Returns: "possible"
{2,17,19,4,12,11,20,17,7,20,1,20,2,3,14}
Returns: "possible"
{5,1,16,5,5,16,12,6,17,14,17,1,14,9,18}
Returns: "possible"
{2,3,1,3,1,1,3,1,3,3,1,3,1,3,1,2,2,3,3,1,2,3,1,2,2}
Returns: "possible"
{8,5,20,6,19,15,24,13,20}
Returns: "possible"
{5,5,7,8,15,2,8,13,16,11,13,1,17,12,3,12,15,9,9,10,11,13,11}
Returns: "possible"
{8,13,1,2,13,16,11,11,22,17,4,21}
Returns: "possible"
{6,16,11,17,3,12,16,16,15,5}
Returns: "possible"
{1,8,6,6,6,8,6,8}
Returns: "possible"
{3,6,3,3,5,6,2,3,6,1}
Returns: "possible"
{5,3,13,1,19,16,8,9,9,14,14,12,17,16,11,11,18}
Returns: "possible"
{18,12,17,3,2,7,8,15,8,8,13,7,15,16,18,12,4,4,3,1,16,3,17}
Returns: "possible"
{8,4,7,7,5,13,10,4,3,6,5,12,5,5,10,13,12,8,11,12,4,3,1,8}
Returns: "possible"
{4,6,1,4,4,6,8,8}
Returns: "possible"
{1,3,1,4,9}
Returns: "possible"
{2,4,1,4,1,1,1,2,1,4,3,4,4}
Returns: "possible"
{4,4,16,1,11,4,8,10,7,16,9,9,8,15,6,5,3,4,1,13,14,13,8}
Returns: "possible"
{2,1,2,2,2,2,2,2,2,2,2}
Returns: "impossible"
{4,1,20,10,14,6,15,18,13,4,1,4,13,7,20,21,3,12,9,20,4,11}
Returns: "possible"
{15,9,22,22,16,22,16,14,12,17,13,5}
Returns: "possible"
{3,15,13,9,17,18,4,17,15,19,1,16,13,5,2,8,14,3,2}
Returns: "possible"
{8,4,11,12,4,11,5}
Returns: "possible"
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: "impossible"
{12,2,2,2,23,24,21,14,5,3,2,4,12,10,3}
Returns: "possible"
{2,1,1,3,2,1,1,1,2,2,3,1,2,2,2,2,1,3,1,1,2,2,1,1}
Returns: "possible"
{3,4,3,1,2,1,3,3,4,1}
Returns: "possible"
{9,1,2,3,8,1,7,5}
Returns: "possible"
{11,14,3,3,18,4,14,17,16,7,7,18,18,16}
Returns: "possible"
{13,5,9,19,3,15,15,6,18,13,16,10}
Returns: "possible"
{3,3,9,10,5,12,2,4,4,5,5,11,4,8,10,7,5,12}
Returns: "possible"
{1,11,4,9,9,12,9,12,3,11,6,10,5,2}
Returns: "possible"
{3,11,2,10,5,6,11,16,5,3,3,8}
Returns: "possible"
{5,5,4,5,1,3,5,1,1,3,2,3,5,2}
Returns: "possible"
{4,12,18,5,12,9,5,16,14,7,12,5,7,3,16,7,9,3,10,13,11,20,9,1}
Returns: "possible"
{6,21,15,1,13,7,3,17,7,12,18,1,8,11,22,14,10,18,20,7,17,11,9,3}
Returns: "possible"
{2,1,1,5,4,1,5,3,4,4,5,7,3,6,3}
Returns: "possible"
{8,14,8,3,11,7,8,3,1,18,1,14,7,4,3,16,17,17,17}
Returns: "possible"
{10,1,10,2,10,3,10,4,10,5,10,6,10,7,10,8,10,9,10,10}
Returns: "impossible"
{1,3,3,3,6}
Returns: "possible"
{18,18}
Returns: "impossible"
{25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}
Returns: "impossible"
{1, 1, 2 }
Returns: "possible"
{1 }
Returns: "possible"
{2, 2, 3 }
Returns: "possible"
{25, 12, 3, 25, 25, 12, 12, 12, 12, 3, 25 }
Returns: "possible"
{1, 1, 1, 2, 2 }
Returns: "possible"
{3, 3, 3, 2, 2 }
Returns: "possible"
{1, 2, 1, 3, 1 }
Returns: "possible"
{1, 1, 2, 2 }
Returns: "possible"
{2, 2, 2, 2, 2, 2 }
Returns: "impossible"
{2, 1, 1 }
Returns: "possible"
{25, 25, 25, 25, 25 }
Returns: "impossible"
{1, 1, 1, 2 }
Returns: "impossible"
{1, 1, 1 }
Returns: "impossible"
{1, 1, 1, 1 }
Returns: "impossible"
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 11, 11, 11, 11, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
Returns: "possible"
{3, 3, 3, 3, 13, 13, 13, 13, 3 }
Returns: "possible"
{25, 25, 3, 25 }
Returns: "impossible"
{3, 3, 1, 1, 2, 2, 3, 3 }
Returns: "possible"
{3, 1, 3 }
Returns: "possible"
{1, 2, 2, 3, 3, 3, 3 }
Returns: "possible"
{1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1 }
Returns: "possible"
{1, 2, 3, 3, 3 }
Returns: "possible"
{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: "impossible"
{3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2 }
Returns: "impossible"
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15 }
Returns: "impossible"
{1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 }
Returns: "possible"
{1, 1, 1, 2, 2, 2, 3, 3, 3 }
Returns: "possible"
{3, 3, 6, 6, 6, 6 }
Returns: "impossible"
{1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 5, 6, 7 }
Returns: "possible"
{9, 9, 9 }
Returns: "impossible"
{1, 1 }
Returns: "impossible"
{3, 3, 5 }
Returns: "possible"
{3, 7, 7, 7, 3 }
Returns: "possible"
{1, 25, 25, 25, 25 }
Returns: "impossible"
{1, 2, 3, 4 }
Returns: "possible"
{1, 1, 3, 1, 2 }
Returns: "possible"
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 }
Returns: "impossible"
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }
Returns: "impossible"
{1, 1, 1, 1, 1, 2, 3, 4, 5, 5, 5 }
Returns: "possible"
{1, 1, 1, 1, 1, 1, 2, 2 }
Returns: "impossible"
{2, 3, 4, 3, 8, 3, 9, 14, 15, 21, 21 }
Returns: "possible"
{2, 2, 1, 1 }
Returns: "possible"
{25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }
Returns: "possible"
{1, 1, 2, 2, 2 }
Returns: "possible"
{1, 2, 3, 4, 4, 4 }
Returns: "possible"
{1, 1, 1, 2, 3 }
Returns: "possible"
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1 }
Returns: "impossible"
{1, 2, 1 }
Returns: "possible"
{3, 3, 3, 3, 3, 4, 5, 6, 7 }
Returns: "possible"