Фон
Вы работаете программистом в компании по продаже автомобилей. Ваша задача на этой неделе - запрограммировать парсер XML, который получает данные о доступных моделях от разных производителей автомобилей и печатает информацию о новейших моделях. К счастью для вас, отдел тестирования предоставил только один тестовый пример! Чем быстрее вы сможете написать код, который его передает, тем больше у вас будет времени на промедление в течение остальной части недели.
вход
Ваш вклад - это именно тот фрагмент XML-данных, который предоставляется отделом тестирования. Он содержит данные о некоторых производителях автомобилей, их серии автомобилей и моделях этих серий. Вы можете принять завершающий символ новой строки.
<?xml version="1.0" ?>
<products>
<manufacturer name="Test Manufacturer 1">
<series title="Supercar" code="S1">
<model>
<name>Road Czar</name>
<code>C</code>
<year>2011</year>
</model>
<model>
<name>Ubervehicle</name>
<code>U</code>
<year>2013</year>
</model>
<model>
<name>Incredibulus</name>
<code>I</code>
<year>2015</year>
</model>
<model>
<name>Model 1</name>
<code>01</code>
<year>2010</year>
</model>
</series>
<series title="Test series 22" code="Test">
<model>
<name>Test model asdafds</name>
<code>TT</code>
<year>2014</year>
</model>
</series>
</manufacturer>
<manufacturer name="Car Corporation">
<series title="Corporation Car" code="CC">
<model>
<name>First and Only Model</name>
<code>FOM</code>
<year>2012</year>
</model>
</series>
</manufacturer>
<manufacturer name="Second Test Manufacturer">
<series title="AAAAAAAAAAAAAA" code="D">
<model>
<name>Some older model</name>
<code>O</code>
<year>2011</year>
</model>
<model>
<name>The newest model</name>
<code>N</code>
<year>2014</year>
</model>
</series>
<series title="BBBBBBBBBBBBBBB" code="asdf">
<model>
<name>Another newest model here</name>
<code>TT</code>
<year>2015</year>
</model>
</series>
</manufacturer>
</products>
Выход
Ваш вывод - эта строка В нем перечислены производители автомобилей в алфавитном порядке, за ними следуют двоеточие и количество серий, которые они производят. Для каждого производителя указывается название серии, название модели и код каждой из их моделей, начиная с самой новой и начиная с года назад. Конечный пробел и разрывы строк допустимы, если ваш вывод при печати выглядит примерно так.
Car Corporation: 1 series
Corporation Car, First and Only Model (CC-FOM)
Second Test Manufacturer: 2 series
BBBBBBBBBBBBBBB, Another newest model here (asdf-TT)
AAAAAAAAAAAAAA, The newest model (D-N)
AAAAAAAAAAAAAA, Some older model (D-O)
Test Manufacturer 1: 2 series
Supercar, Incredibulus (S1-I)
Test series 22, Test model asdafds (Test-TT)
Supercar, Ubervehicle (S1-U)
Supercar, Road Czar (S1-C)
Supercar, Model 1 (S1-01)
Правила и оценки
Вы можете написать либо функцию, либо полную программу. Побеждает меньшее количество байтов, и стандартные лазейки запрещены.
Обратите внимание, что ввод является фиксированным: вам не нужно поддерживать какие-либо другие входы, кроме приведенного здесь. Ваша программа может возвращать бессмыслицу или даже сбой, если входные данные изменены каким-либо образом. При желании вы также можете игнорировать ввод и жестко закодировать вывод. Однако вы не можете использовать библиотеки или встроенные библиотеки синтаксического анализатора XML или HTML.