Мета
Напишіть програму або функцію, яка приймає натуральне ціле число n
і випадковим чином генерує законний ряд пітчів (звідси називається рядком Pitch) довжини n
.
Вхідні дані
Ненульове натуральне число n
<= 100
Вихідні дані
Поверніть випадковий рядок або список символів, які представляють можливу дійсну строку висоти висоти n
. Використовувані символи будуть:
- Б - куля. Якщо ви накопичите 4 з них, тісто пройдіться і закінчіть ватин.
- S - Страйк. Якщо ви накопичите 3 з них, тісто вийде і закінчите ватин.
- F - Фол. Також збільшиться кількість страйків, але не може вивести тісто. Тобто, ви не можете, щоб Foul був останнім кроком у дійсному рядку. Будь-які фоли, що пройшли через два удари / фоли, не збільшать кількість страйків (тісто вже має 2 удари в той момент, і 3-й би його вивів).
- Н - Хіт. Тісто влучило в кульку і закінчилося ватин.
(Це трохи спрощено, але не турбуйтеся про це)
Дійсні струнні тони - це ті, що закінчуються зачепленням, прогулянкою чи ударом.
Тобто, недійсна рядок висоти висоти
- додаткові майданчики після 4-го м'яча, 3-го удару або удару
- припиняється перед створенням 4-го м'яча, 3-го удару або удару.
Правила
- Ваша програма повинна мати можливість виробляти всі можливі результати для даного введення.
- Ваша програма не повинна бути рівномірно випадковою, але все ж повинна дотримуватися попереднього правила.
- Це код-гольф .
Приклади
Input => Possible Outputs
1 => [H] #Can only end with a hit
2 => [S,H], [B,H], [F,H] #Can only end with a hit
3 => [S,S,S], [F,F,S], [B,B,H], ... #Can now strike-out, otherwise must end with a hit
4 => [B,B,B,B], [S,B,S,S], [B,F,S,S], [B,B,B,H], ... #Can now be walked, struck-out, or get a hit
6 => [S,B,S,B,B,H], [F,F,F,F,F,S], ... #Can now have a full-count (3 balls, 2 strikes) before finishing
Input => Invalid Outputs
1 => [S], [B] #Not enough for a strike-out/walk
2 => [S,S] #Not enough for a strike-out/walk
2 => [H,H] #Batter has already scored a hit
3 => [S,S,F] #Fouls will not cause a strike-out
4 => [S,S,S,H] #Batter has already struck out
5 => [B,B,B,B,B] #Batter has already walked
F
s і a S
- це