Мета Challenge Rosetta Stone - написати рішення на якомога більшій кількості мов. Покажіть багатомовність програмування!
Змагання
Ваше завдання полягає в тому, щоб реалізувати програму, яка буде відображати деякі гени за допомогою перехресних частот, на якомога більше мов програмування . Вам дозволяється використовувати будь-яку стандартну бібліотечну функцію, яку має ваша мова, оскільки це здебільшого мовна вітрина.
Що таке "генографічне відображення?"
Картографування генів - це процес локалізації відносного положення генів на хромосомах. Це робиться шляхом вимірювання частоти схрещування пар генів, рівних відсоткам потомства, при якому ця пара не успадковується разом. Відстань вимірюється в одиницях карт, при цьому одна одиниця карт дорівнює одному відсотку перетину. Наприклад, якщо гени C & D мають частоту схрещування 11%, то ген C - це відстань в 11 одиниць карти від гена D.
Генографічне відображення проводиться з декількома парами генів для визначення їх відносного порядку. Наприклад, дані (A,B,12) (D,B,7) (A,D,5) (D,H,2) (H,B,9)
створюють таку карту:
A..H.D......B
Можливо, ви помітили, що B......D.H..A
це також дійсна карта. Це правда, оскільки не можна відрізнити дзеркальні протилежності. Ваша програма може вибрати, яку саме вивести. Хоча вхід може містити не кожну можливу пару, завжди буде достатньо інформації для реконструкції всієї карти (тому ніколи не буде більше 2 дійсних виходів). Окрім того, цифри завжди працюватимуть (на відміну від фактичної біології), тобто немає у вас подібних речей (A,B,3) (B,C,4) (A,C,13)
.
Вхідні дані
Введення почнеться з числа, n
а потім списку генів (прописних літер). Потім з’являться n
трійки даних. Кожен набір буде складатися з пари генів та їх переходу через частоту (відстань).
3,P,H,I
P,H,3
H,I,1
P,I,4
7,A,B,G,Q,U
B,Q,4
A,B,10
G,U,13
Q,U,10
A,G,9
G,Q,3
A,Q,6
Введення не визначено жорстко, оскільки різні мови можуть мати обмеження щодо того, що можливо. Наприклад, ви можете змінити роздільники на щось інше, ніж коми та нові рядки. Форматування вводу багато в чому залежить від вас.
Вихідні дані
Результатом буде представлення генової карти. Він буде складатися з генів (великих літер), розподілених періодами, щоб відстані були точно зображені. Ось результати для наведених вище прикладів.
P..HI *or* IH..P
BG..Q.....A...U *or* U...A.....Q..GB
Це також не є абсолютно жорсткою вимогою. Наприклад, ви можете використовувати щось, крім періодів, як коми або пробіли.
Об'єктивний критерій виграшу
Що стосується об'єктивного критерію виграшу, то ось він: Кожна мова - це окремий конкурс щодо того, хто може написати найкоротший запис, але загальним переможцем буде та людина, яка виграє більшість із цих підконкурсів. Це означає, що людина, яка відповідає на багатьох незвичайних мовах, може отримати перевагу. Код-гольф - це здебільшого краватка, коли в мові існує більше одного рішення: особа, яка має найкоротшу програму, отримує заслуги за цю мову.
Правила, обмеження та примітки
Ваша програма може бути написана будь-якою мовою, яка існувала до 20 грудня 2013 року. Також мені доведеться покладатися на громаду, щоб перевірити деякі відповіді, написані на деяких більш рідкісних / езотеричних мовах, оскільки я навряд чи зможу перевірити їх.
Поточна таблиця лідерів
Цей розділ буде періодично оновлюватися, щоб відобразити кількість мов та хто є провідним у кожній.
- AutoHotkey (632) - Аві
- dj (579) - рубік
Поточні рейтинги користувачів
- Avi (1): AutoHotkey (632)
- rubik (1): dj (579)
n
, але в першу чергу межі переходу через частоту (відстань). Чи можемо ми припустити, що завжди буде, скажімо, менше, ніж 1000
?