Список литературы
На отдельных строчках файла записаны названия статей строчными буквами. Используя только средства языка BrainF**k, написать преобразователь этих названий в формат, когда первая буква каждого слова будет большой и в конце предложения будет стоять точка.
BrainFuck - это язык программирования, содержащий всего 8 команд и теоретически на нем можно решить любую задачу, которая может быть решена. Язык оперирует длинной лентой ячеек памяти, каждая из которых изначально содержит нулевое значение. Также имеется указатель на ячейку, который изначально указывает на первую ячейку в ленте. Каждая из 8 команд об
86;значается следующими символами:
'>' : передвигает указатель на следующую ячейку,
'<' : передвигает указатель на предыдущую ячейку,
'+' : увеличивает значение ячейки, на которую указывает указатель на единицу,
'-' : уменьшает значение ячейки, на которую указывает указатель на единицу,
',' : считывает значение в ячейку, на которую указывает указатель со стандартного ввода (stdin),
'.' : записывает в стандартный выход значение которое находится в ячейке с соответствующим значением ASCII,
'[' : перемещается к команде следующей за соответствующим символом ']', если значение в ячейке равно 0.
']' : перемещается к команде следующей за соответствующим символом '[', если значение в ячейке не равно 0.
Все команды выполняются последовательно. Все другие символы считаются комментариями. Программа заканчивается, когда достигнута последняя команда.
Интерпретатор на язык С можно скачать здесь.
Конечно же, программа должна быть настолько маленькой насколько это возможно. =)
Входные данные
t – число тестов [10 <= t <= 99]
На каждой из следующих t строчек расположено название статьи состоящее из нескольких слов (строка не больше 1000 символов, слово не более 40). Каждая строка отделяется от другой символом ('\n' = 10). Названия статей содержат только маленькие буквы принадлежащие английскому алфавиту: 'a'-'z' и пробел: ' '.
Выходные данные
Каждое название статьи необходимо вывести на отдельной строке. Каждое слово должно начинаться с большой буквы и в конце предложения должна присутствовать точка.
Начисление очков
Количество очков полученное за программу обратно пропорционально числу символов в её коде, т.е. score = 100/(1+R). Где R число байт, которое занимает исходник отосланного решения (учитываются только команды BrainF**k).
Пример
Входные данные:
06
joint power management of memory and disk
instruction scheduling for dynamic hardware configuration
hierarchical variance analysis for analog circuits based on graph modelling
lifetime modeling of a sensor network
symmetric multiprocessing on programmable chips made easy
a time slice based scheduler model for system level design
Выходные данные:
Joint Power Management Of Memory And Disk.
Instruction Scheduling For Dynamic Hardware Configuration.
Hierarchical Variance Analysis For Analog Circuits Based On Graph Modelling.
Lifetime Modeling Of A Sensor Network.
Symmetric Multiprocessing On Programmable Chips Made Easy.
A Time Slice Based Scheduler Model For System Level Design.