Arka fon
Bir araba satış şirketi için programcı olarak çalışıyorsunuz. Bu haftaki göreviniz, farklı otomobil üreticilerinin mevcut modelleri hakkında veri alan bir XML ayrıştırıcıyı programlamak ve en yeni modeller hakkında güzel bilgiler yazdırmaktır. Neyse ki sizin için, test departmanı sadece bir test örneği sağladı! Daha hızlı geçen kodu yazabilir, haftanın geri kalanında erteleme için daha fazla zamanınız olur.
Giriş
Girişiniz , test departmanı tarafından sağlanan tam olarak bu XML verisi parçasıdır. Bazı otomobil üreticileri, otomobil serileri ve bu serideki modeller hakkında veriler içerir. Sonunda bir satırsonu olduğunu varsayabilirsiniz.
<?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>
Çıktı
Çıktınız bu dizedir. Otomobil üreticilerini alfabetik sırayla, ardından da iki nokta üst üste ve yaptıkları seri sayısını listeler. Her üreticinin altında, modellerinin her birinin seri adını, model adını ve kodunu, en yenisinden başlayarak ve her yıl geriye doğru listeler. Çıktınız yazdırıldığında buna benzediği sürece, boşluk ve satır sonları kabul edilebilir.
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)
Kurallar ve Puanlama
Bir işlev veya tam program yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklara izin verilmez.
Girişin sabit olduğunu unutmayın: burada verilen dışında başka girişleri desteklemenize gerek yoktur. Giriş herhangi bir şekilde değiştirilirse, programınızın saçma veya hatta çökmesine izin verilir. İsterseniz girişi yoksayabilir ve çıktıyı kodlayabilirsiniz. Ancak, olabilir değil XML veya HTML ayrıştırıcı kütüphaneler veya yerleşik ins kullanın.