В друкованих символів ASCII (шістнадцяткові коди 20 7Е) в порядку є:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
(Зверніть увагу, що там є місце.)
Цей рядок чітко містить усі символи для друку ASCII принаймні один раз у порядку збільшення, коли читається зліва направо, але не у порядку зменшення.
Рядок
REVERSED:~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! NORMAL: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
містить усі друковані символи ASCII принаймні один раз у порядку збільшення та зменшення. Іншими словами, коли символи оцінюються за їх числовим кодом, найдовші зростаючі та найдовші зменшувані послідовності мають довжину 95 (кількість друкованих символів ASCII).
Виклик
Виберіть суміжний підмножина з N друкованих символів ASCII, таких як LMNOP
(N = 5). Напишіть програму, використовуючи лише ті N символів, вихід яких містить усі 95 символів ASCII у порядку збільшення та зменшення, як на прикладі вище.
Переможець - це подання з найнижчим числом N. У разі зв’язків виграє найкоротший код у байтах.
Примітки
- Суміжний підмножина означає набір друкованих ASCII, які всі відображаються в нерозривному рядку, наприклад,
LMNOP
або89:;<=>
. - Ваш суміжний підмножина може "замикатися" з
~
космосу, але за це виникає штраф +3. Так{|}~
що N = 4, але{|}~ !
N = 6 + 3 = 9. - Ваша програма може містити лише N символів для друку ASCII з вибраного суміжного підмножини. Вони не повинні з'являтися і можуть з’являтися кілька разів у будь-якому порядку. (Усі ASCII, що не друкуються, та всі, що не належать до ASCII, не дозволені. Це означає, що вкладки та нові рядки заборонені.)
- Ваш вихід може містити лише символи для друку ASCII та має бути довжиною менше 10000 символів.
- Обов'язки, що найдовше збільшуються та зменшуються, повинні мати довжину 95 (як пояснено вище).
- Вихід у stdout. Введення немає.
- N - ціле додатне число, менше 96.