Latar Belakang
Anda bekerja sebagai programmer untuk perusahaan penjualan mobil. Tugas Anda untuk minggu ini adalah memprogram parser XML yang mengambil data tentang model yang tersedia dari berbagai produsen mobil, dan mencetak informasi yang cantik tentang model-model terbaru. Beruntung bagi Anda, departemen pengujian hanya menyediakan satu uji kasus! Semakin cepat Anda dapat menulis kode yang melewatinya, semakin banyak waktu yang Anda miliki untuk penundaan selama sisa minggu ini.
Memasukkan
Input Anda persis seperti data XML ini, disediakan oleh departemen pengujian. Ini berisi data tentang beberapa produsen mobil, seri mobil mereka, dan model dalam seri ini. Anda dapat mengasumsikan baris baru yang tertinggal.
<?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>
Keluaran
Output Anda adalah string ini. Ini daftar pabrikan mobil dalam urutan abjad, diikuti oleh titik dua dan jumlah seri yang mereka buat. Di bawah masing-masing produsen, itu mencantumkan nama seri, nama model, dan kode masing-masing model mereka, mulai dari yang terbaru dan mundur ke tahun. Trailing whitespace dan line break dapat diterima, selama output Anda terlihat mirip dengan ini saat dicetak.
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)
Aturan dan Penilaian
Anda dapat menulis fungsi atau program lengkap. Hitungan byte terendah menang, dan celah standar tidak diizinkan.
Perhatikan bahwa input sudah diperbaiki: Anda tidak perlu mendukung input lain dari yang diberikan di sini. Program Anda diizinkan untuk mengembalikan omong kosong atau bahkan macet jika inputnya diubah dengan cara apa pun. Anda juga dapat mengabaikan input dan mengkode output, jika diinginkan. Namun, Anda tidak boleh menggunakan parser pustaka XML atau HTML atau built-in.