Problem Statement
Note: this problem statement contains an image that may not display properly if viewed outside the applet.
When on a long flight, it is often helpful to be in an aisle seat (a seat adjacent to an aisle). This way you don't need to bother another passenger when you need to go to the restroom or take a walk. However, because large airliners are built to hold as many passengers as possible, only a limited number of seats can be aisle seats.
A typical arrangement of 10 seats in a single row with 2 aisles is as follows:
Aisle seats are colored green in the above example (there are four such seats), while center and window seats are colored orange.
All of the seats are equally wide and each aisle has the same width as a single seat. If an airplane's row is wide enough to fit width seats or aisles, and the airline wants exactly seats seats to be fitted in a row, find the arrangement which maximizes the number of aisle seats. A row should be formatted as a string of characters so that seats and aisles are represented by 'S' and '.' (dot) characters, respectively. If there are multiple arrangements which maximize the number of aisle seats, find the lexicographically smallest one (the dot character comes before 'S' in the lexicographical order).
You are to return the required arrangement (or part of it) as a
- If width is 50 or less, return the entire arrangement as a single
String inside theString[] . - If width is between 51 and 100 (inclusive), return the entire arrangement as two
String s, split after the first 50 characters. - If width is more than 100, return two
String s containing the first and last 50 characters of the arrangement, respectively.
Definition
- Class:
- AirlinerSeats
- Method:
- mostAisleSeats
- Parameters:
- int, int
- Returns:
- String[]
- Method signature:
- String[] mostAisleSeats(int width, int seats)
- (be sure your method is public)
Constraints
- width will be between 1 and 100000, inclusive.
- seats will be between 0 and width, inclusive.
Examples
6
3
Returns: {"..SS.S" }
All three seats can be made aisle seats and this is the lexicographically smallest such arrangement.
6
4
Returns: {"S.SS.S" }
This is the only arrangement where all four seats are aisle seats.
12
10
Returns: {"S.SS.SSSSSSS" }
The picture in the problem statement shows another arrangement with the maximum number of aisle seats, but this one is lexicographically smaller.
2
1
Returns: {".S" }
11
7
Returns: {".SS.SS.SS.S" }
11
8
Returns: {"S.SS.SS.SSS" }
5
3
Returns: {".SS.S" }
5
4
Returns: {"S.SSS" }
6
5
Returns: {"S.SSSS" }
6
6
Returns: {"SSSSSS" }
7
3
Returns: {"...SS.S" }
7
4
Returns: {".S.SS.S" }
7
5
Returns: {"S.SS.SS" }
7
6
Returns: {"S.SSSSS" }
8
5
Returns: {".SS.SS.S" }
8
6
Returns: {"S.SS.SSS" }
8
7
Returns: {"S.SSSSSS" }
8
0
Returns: {"........" }
52
52
Returns: {"SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", "SS" }
111
77
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSSSSSSSS" }
100000
66666
Returns: {".S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
100000
0
Returns: {"..................................................", ".................................................." }
1
0
Returns: {"." }
1
1
Returns: {"S" }
40
10
Returns: {".........................S.SS.SS.SS.SS.S" }
40
11
Returns: {"........................SS.SS.SS.SS.SS.S" }
41
26
Returns: {"..S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
41
27
Returns: {".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
41
28
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSS" }
41
29
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSSSS" }
42
25
Returns: {".....SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
42
26
Returns: {"...S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
42
27
Returns: {"..SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
42
28
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
42
29
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSS" }
43
26
Returns: {"....S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
43
27
Returns: {"...SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
43
28
Returns: {".S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
43
29
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS" }
47
47
Returns: {"SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
50
33
Returns: {".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
50
34
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSS" }
50
49
Returns: {"S.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
50
50
Returns: {"SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
64
41
Returns: {"...SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS", ".SS.SS.SS.SS.S" }
64
42
Returns: {".S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS", ".SS.SS.SS.SS.S" }
64
43
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS" }
64
44
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SSSSS" }
64
45
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SSSSSSSS" }
64
46
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SSSSSSSSSSS" }
65
41
Returns: {"....SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S", "S.SS.SS.SS.SS.S" }
65
42
Returns: {"..S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S", "S.SS.SS.SS.SS.S" }
65
43
Returns: {".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S", "S.SS.SS.SS.SS.S" }
65
44
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SSS" }
65
45
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SSSSSS" }
65
46
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SSSSSSSSS" }
66
41
Returns: {".....SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.S" }
66
42
Returns: {"...S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.S" }
66
43
Returns: {"..SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.S" }
66
44
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.S" }
66
45
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SSSS" }
66
46
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SSSSSSS" }
100
66
Returns: {".S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
100
67
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS" }
100
68
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSSS" }
101
66
Returns: {"..S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
101
67
Returns: {".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
101
68
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSS" }
14
12
Returns: {"S.SS.SSSSSSSSS" }
21
15
Returns: {"S.SS.SS.SS.SS.SS.SSSS" }
37
25
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS" }
28
23
Returns: {"S.SS.SS.SS.SS.SSSSSSSSSSSSSS" }
3
1
Returns: {"..S" }
4
0
Returns: {"...." }
13
10
Returns: {"S.SS.SS.SSSSS" }
28
1
Returns: {"...........................S" }
11
7
Returns: {".SS.SS.SS.S" }
9
8
Returns: {"S.SSSSSSS" }
89
69
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
92
6
Returns: {"..................................................", ".................................S.SS.SS.S" }
72
13
Returns: {"..................................................", "...SS.SS.SS.SS.SS.SS.S" }
71
29
Returns: {"............................SS.SS.SS.SS.SS.SS.SS.S", "S.SS.SS.SS.SS.SS.SS.S" }
53
15
Returns: {"...............................SS.SS.SS.SS.SS.SS.S", "S.S" }
60
16
Returns: {"....................................S.SS.SS.SS.SS.", "SS.SS.SS.S" }
51
0
Returns: {"..................................................", "." }
54
4
Returns: {"................................................S.", "SS.S" }
95
12
Returns: {"..................................................", "...........................S.SS.SS.SS.SS.SS.S" }
85
53
Returns: {"......SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
93727
62488
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSSSSSSSSS" }
69295
69281
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSSSSSSS", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
24307
18343
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
37298
1324
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
31330
1
Returns: {"..................................................", ".................................................S" }
85737
0
Returns: {"..................................................", ".................................................." }
5201
2
Returns: {"..................................................", "...............................................S.S" }
81560
3
Returns: {"..................................................", "..............................................SS.S" }
62170
62169
Returns: {"S.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
62170
62168
Returns: {"S.SS.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
88159
26509
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
98586
4892
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
88855
17330
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
83079
64803
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
22944
18585
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
95494
63662
Returns: {".S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
95494
63678
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
2
2
Returns: {"SS" }
200
2
Returns: {"..................................................", "...............................................S.S" }
99999
49999
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
100000
75000
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
100000
50
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
10000
202
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
100000
66667
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS" }
14
12
Returns: {"S.SS.SSSSSSSSS" }
50
50
Returns: {"SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
100000
66666
Returns: {".S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
99998
99996
Returns: {"S.SS.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
10
7
Returns: {"S.SS.SS.SS" }
100000
50000
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
100000
99999
Returns: {"S.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
100000
0
Returns: {"..................................................", ".................................................." }
12345
234
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
99999
66667
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSS" }
100000
99997
Returns: {"S.SS.SS.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
100000
95000
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
100000
100000
Returns: {"SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" }
100000
20000
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
99999
10
Returns: {"..................................................", "...................................S.SS.SS.SS.SS.S" }
10001
6669
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSSSS" }
2
0
Returns: {".." }
100000
33329
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
60
1
Returns: {"..................................................", ".........S" }
147
2
Returns: {"..................................................", "...............................................S.S" }
86105
17443
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
98345
1345
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
7
5
Returns: {"S.SS.SS" }
6
3
Returns: {"..SS.S" }
50
0
Returns: {".................................................." }
4
3
Returns: {"S.SS" }
111
81
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSSSSSSSSSSSSSSSSSSSS" }
50
25
Returns: {".............SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
1
0
Returns: {"." }
100000
4
Returns: {"..................................................", "............................................S.SS.S" }
10000
6669
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SSSSSSSS" }
990
1
Returns: {"..................................................", ".................................................S" }
9
7
Returns: {"S.SS.SSSS" }
2
2
Returns: {"SS" }
11
8
Returns: {"S.SS.SS.SSS" }
10
1
Returns: {".........S" }
13
7
Returns: {"...SS.SS.SS.S" }
10000
6667
Returns: {"S.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.", "SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS" }
6
5
Returns: {"S.SSSS" }
91729
33748
Returns: {"..................................................", ".SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.SS.S" }
4
2
Returns: {".S.S" }
5
3
Returns: {".SS.S" }