З огляду на 95 символів для друку в ASCII плюс новий рядок, розділіть його на дві рівні, 48 символьних груп (надалі називаються групами A і група B). Створіть індивідуальне відображення на свій вибір (ви маєте повний розсуд) між двома групами. Іншими словами, A
може відображатись a
, і навпаки, але A
може також відображатись>
і навпаки, якщо це те, що вам потрібно для вашої програми.
Після розбиття ASCII на дві групи напишіть дві програми та / або функції, використовуючи відповідно лише символи в кожній групі. Іншими словами, запишіть одну програму / функцію, яка використовує лише символи групи A, та іншу програму / функцію, яка використовує лише символи групи B.
Ці програми повинні мати можливість приймати один символ як вхід. Програма, написана з символами групи A, повинна виводити / повертати один і той же символ, якщо вхід був символом групи А, і відображений символ групи А, якщо він отримав символ групи В; програма групи А завжди повинна виводити символ групи А. Аналогічно, програма групи B повинна виводити один і той же символ, якщо це символ групи B, а відображений символ групи B, якщо вхід - символ групи А.
Це може бути не так зрозуміло, ось ось приклад. Якщо ви припускаєте, що всі великі літери перебувають у групі А, а всі малі літери - у групі В, і ви вибрали, що ваше зіставлення один на один для цих букв перебуває від однієї до іншої, то: ось ось декілька вибіркові входи / виходи:
Програма A:
Input Output
A A
D D
a A
q Q
Програма B:
Input Output
A a
D d
a a
q q
Інші правила:
- Дві програми не повинні бути однією мовою.
- Вони не повинні бути обома програмами або обома функціями; один може бути програмою, інший функцією, це добре.
- Їм не потрібно працювати однаково, бути однакової довжини, нічого подібного; вони просто повинні відповідати іншим вищевикладеним правилам.
- Так, лише одна з ваших програм може використовувати нові рядки, і лише одна може використовувати пробіли (це може бути та сама або інша програма).
- Не потрібно використовувати всі 48 символів у кожній програмі.
Стандартні лазівки заборонені, як зазвичай.Усі програми повинні бути автономними, жодних файлів, що містять вибране відображення.
Критерії балів: код-гольф . Зокрема, сума байтів тексту двох програм.
Будь ласка, опублікуйте свою відповідь так:
Мова - # байт + мова - # байт = # байт
Однозначне опис вашого відображення. Якщо це складно, використовуйте такий графік:
ABCDEFGHIJKLMNOPQRSTUVWXYZ (etc.) zyxwvutsrpqonmlkjihgfedcba (etc.)
Або ви можете просто пояснити це (перші 48 карт до останніх 48 послідовно), після чого відповідь як звичайна.
+
і >
, а іншу за допомогою -
і <
. Тоді вам доведеться спробувати згенерувати відсутні оператори, наприклад, ,
або .
в програмі, які не можуть їх використовувати.