Зазвичай поліглоти побудовані таким чином, що кожна мова може ігнорувати частини коду, які існують для інших мов, загортаючи їх у рядкові літерали, використовуючи синтаксис коментарів або інші подібні хитрощі.
Ваша мета - написати поліглот, де вихід для кожної мови є кодом з поліглота, який виробляє цей вихід. Зокрема, висновок повинен бути побудований з поліглот-коду лише з видаленнями, і він повинен бути ланцюжком даної мови.
Правила
- Дозволені лише належні лайки (жодне зчитування вихідного коду, не приймаючи введення, вихід повинен бути STDOUT або найближчою альтернативою, якщо STDOUT не є опцією, а програми повинні складатися з більш ніж просто літералів, які друкуються неявно).
- Оскільки різні мови можуть використовувати різні кодування, то тут важливі необроблені байти. Наприклад, якщо мова A використовує UTF-8, а мова B використовує CP437, (шістнадцятковий) код
C3 88 46 47
будеÈFG
для мови A і├êFG
для мови B. - Усі результати повинні бути чіткими (знову ж таки, порівнюючи необроблені байти). Це дозволяє уникнути ускладнень при спробі обмежити незначні мовні версії - якщо дві мови використовують одну й ту саму частину коду, щоб зробити те саме, ви не можете вимагати їх обох.
- Якщо у вас є дві мови A і B, які
XY
є дійсним результатом для обох, алеYZ
також є дійсним у B, ви можете вибратиXY
як вихід для A іYZ
як вихід для B, так що ви можете вимагати їх обох у своєму рахунку ( але ви не можете претендуватиXY
на обидві мови через вищезазначене правило).
- Якщо у вас є дві мови A і B, які
- Всі виходи повинні бути максимально короткими. Наприклад, якби ваш код був
print('foo')#something
для Python 3 (ігноруючи той факт, що вихідний результат невірний), код, який потрібно було б вивести, був биprint('foo')
іprint('foo')#
не був дозволений. Якщо є кілька рядків однакової (мінімальної) довжини, які дають правильний вихід, ви можете вибрати будь-який з них. - Подання повинні бути поліглотами принаймні на 2 мовах.
- Ваша оцінка буде надана о
(number of programming languages with distinct outputs)**3/(total byte size of polyglot)
. Виграє найвищий бал. У випадку, якщо два подання досягнуть однакового балу, виграє подання, яке вперше досягло цього бала.