II Олимпиада по компьютерным технологиям
для людей с ограниченными возможностями

Генеральный спонсор олимпиады


Опубликовано 27 мая 2003 года

Задания по программированию очного тура олимпиады

  1. [римские числа] Дано слово, состоящее из латинских букв I, V, X, L, C. Определить, является ли оно корректной записью римского числа.

    Примечание. Римляне не ставили более трех одинаковых цифр подряд, перед большей цифрой могла стоять одна цифра, меньшая ее, но не более чем на "две ступени" (например, XC бывало, но вместо VC писали XCV).

    Запись старались делать короткой. Например, 250 писали как CCL, а не как CCLC.


  2. [окружность] Сколько точек с целыми координатами заключено внутри окружности радиуса r (целое число от 1 до 10 000) с центром в начале координат? (Точки на границе не считать!)

    Программа должна работать не более 2 секунд.


  3. [алфавит] Археологи обнаружили словарь неизвестного ранее древнего языка. В этом языке используются только латинские буквы, но их порядок в алфавите неизвестен. Требуется по списку слов из словаря, упорядоченному в алфавитном порядке, восстановить алфавит. (Дано, что это делается однозначно.)

    Входной файл input.txt — словарь содержит на каждой строке по одному слову из "языка" все слова написаны строчными латинскими буквами иных символов (кроме концов строк) не содержит. Последняя строка файла содержит пробел и символ конца строки. Длина слова не превосходит 10, количество слов не превосходит 1000.

    Выходной файл output.txt содержит строку букв "языка" в алфавитном порядке.

    пример

    ro
    roo
    roi
    roii
    rois
    rio
    riir
    oros
    ori
    ooro
    ooos
    ssss
    

    Ответ — rois