Antecedentes
Estás trabajando como programador para una empresa de venta de automóviles. Su tarea para esta semana es programar un analizador XML que tome datos sobre los modelos disponibles de diferentes fabricantes de automóviles, e imprima información sobre los modelos más nuevos. ¡Afortunadamente para ti, el departamento de pruebas ha proporcionado solo un caso de prueba! Cuanto más rápido pueda escribir el código que lo pasa, más tiempo tendrá para postergar el resto de la semana.
Entrada
Su entrada es exactamente esta pieza de datos XML, suministrada por el departamento de pruebas. Contiene datos sobre algunos fabricantes de automóviles, sus series de automóviles y los modelos de estas series. Puede asumir una nueva línea final.
<?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>
Salida
Su salida es esta cadena. Enumera los fabricantes de automóviles en orden alfabético, seguidos de dos puntos y el número de series que hacen. En cada fabricante, enumera el nombre de la serie, el nombre del modelo y el código de cada uno de sus modelos, comenzando por el más nuevo y retrocediendo por año. Los espacios en blanco finales y los saltos de línea son aceptables, siempre que su salida sea similar a esta cuando se imprima.
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)
Reglas y puntuación
Puede escribir una función o un programa completo. El conteo de bytes más bajo gana, y las lagunas estándar no se permiten.
Tenga en cuenta que la entrada es fija: no necesita admitir ninguna otra entrada que no sea la que se proporciona aquí. Su programa puede devolver tonterías o incluso bloquearse si la entrada se modifica de alguna manera. También puede ignorar la entrada y codificar la salida, si lo desea. Sin embargo, es posible que no utilice XML o HTML analizador bibliotecas o muebles empotrados.