Емблема центру  www.olymp.vinnica.ua     netoi.org.ua
Центр олімпіад школярів в Iнтернеті
Likt-PMG17
м.Вiнниця


Годинник
 
ABACABA

 

 

 

Задача ABACABA 

 

Абацабівська мова складається з усіх тих послідовностей літер  A, B, C,  (звичайно, латиницею), у яких одна й та сама літера повторюється не більше двох разів підряд. Усі ці слова занумеровані за правилами: спочатку всі однобуквенні, потім усі двобуквенні і т. д., а серед слів з однаковою кількістю букв — за словниковим порядком, тобто спочатку порівнюються перші букви; якщо вони однакові, то порівнюються другі, і т. д. Зокрема, словами абацабівської мови з 1‑го по 47‑е є A, B, C, AA, AB, AC, BA, BB, BC, CA, CB, CC, AAB, AAC, ABA, ABB, ABC, ACA, ACB, ACC, BAA, BAB, BAC, BBA, BBC, BCA, BCB, BCC, CAA, CAB, CAC, CBA, CBB, CBC, CCA, CCB, AABA, AABB, AABC, AACA, AACB, AACC, ABAA, ABAB, ABAC, ABBA, ABBC. Напишіть програму, яка виконуватиме перетворення між буквенним та порядковим поданням слів абацабівської мови.

Технічні умови Програма ABACABA читає з клавіатури або ціле строго додатне число, або послідовність літер, що утворює слово абацабівської мови. Програма повинна вивести у першому випадку слово абацабівської мови, що має такий номер, а у другому — порядковий номер введеного слова.  Достатньо, щоб програма вміла працювати зі словами, номери яких не перевищують 1018.

Приклад 1

Приклад 2

Введення

AACC

Виведення

42

Введення

935

Виведення

ABACABA

Програма повинна виводити на екран лише відповідь, без будь-яких зайвих символів, в т. ч. й пробілів. Числа повинні починатися з ненульової цифри.


© Всеукраїнський віртуальний центр олімпіад школярів "ОЛІМП"