Lý lịch
Bạn đang làm việc như một lập trình viên cho một công ty bán xe. Nhiệm vụ của bạn trong tuần này là lập trình một trình phân tích cú pháp XML lấy dữ liệu về các mẫu có sẵn từ các nhà sản xuất ô tô khác nhau và in thông tin đẹp về các mẫu mới nhất. May mắn cho bạn, bộ phận kiểm tra chỉ cung cấp một trường hợp thử nghiệm! Bạn có thể viết mã vượt qua nó càng nhanh, bạn càng có nhiều thời gian cho sự trì hoãn trong suốt phần còn lại của tuần.
Đầu vào
Đầu vào của bạn chính xác là đoạn dữ liệu XML này, được cung cấp bởi bộ phận kiểm tra. Nó chứa dữ liệu về một số nhà sản xuất xe hơi, loạt xe của họ và các mô hình trong loạt này. Bạn có thể giả sử một dòng mới.
<?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>
Đầu ra
Đầu ra của bạn là chuỗi này. Nó liệt kê các nhà sản xuất xe hơi theo thứ tự bảng chữ cái, theo sau là dấu hai chấm và số sê-ri họ tạo ra. Theo mỗi nhà sản xuất, nó liệt kê tên sê-ri, tên mô hình và mã của từng mô hình của họ, bắt đầu từ mới nhất và đi lùi theo năm. Trailing khoảng trắng và ngắt dòng là chấp nhận được, miễn là đầu ra của bạn trông giống như thế này khi được in.
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)
Quy tắc và chấm điểm
Bạn có thể viết một chức năng hoặc chương trình đầy đủ. Số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép.
Lưu ý rằng đầu vào là cố định: bạn không cần phải hỗ trợ bất kỳ đầu vào nào khác ngoài đầu vào được đưa ra ở đây. Chương trình của bạn được phép trả lại vô nghĩa hoặc thậm chí sụp đổ nếu đầu vào được sửa đổi theo bất kỳ cách nào. Bạn cũng có thể bỏ qua đầu vào và mã cứng đầu ra, nếu muốn. Tuy nhiên, bạn không được sử dụng các thư viện hoặc trình phân tích cú pháp XML hoặc HTML.