C8-01 · Tra tỉnh theo biển số
Xem dạng PDF
Gửi bài giải
Điểm:
1,00
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
Python
Đề
Hai ký tự đầu của biển số xe là mã tỉnh. Chương trình giữ sẵn một bảng mã dưới dạng từ điển (dict) viết ngay trong chương trình:
| Mã tỉnh | Tên tỉnh in ra |
|---|---|
29 |
Ha Noi |
15 |
Hai Phong |
43 |
Da Nang |
65 |
Can Tho |
Cho n biển số, với mỗi biển số hãy in tên tỉnh ứng với hai ký tự đầu của nó; nếu mã đó không có trong bảng thì in KHONG RO.
Chỉ dùng đúng bảng bốn mã ở trên: mã tỉnh có thật ngoài đời nhưng không có trong bảng (ví dụ 30, 51) vẫn in KHONG RO.
Dữ liệu vào
- Dòng đầu chứa số nguyên n.
- n dòng tiếp theo, mỗi dòng một biển số, gồm: 2 chữ số (mã tỉnh), seri 1–2 ký tự (ký tự đầu là chữ cái in hoa, ký tự thứ hai nếu có là chữ cái in hoa hoặc chữ số), dấu
-, rồi phần số dạng123.45hoặc1234. Ví dụ:43A-123.45,29LD-678.90,65B1-1234.
Kết quả
n dòng, dòng thứ i là tên tỉnh của biển số thứ i (viết đúng như bảng trên) hoặc KHONG RO.
Ràng buộc
- ~1 \le n \le 10^4~.
- Mã tỉnh là hai chữ số bất kỳ từ
00đến99.
Ví dụ
Dữ liệu vào:
2
43A-123.45
99B-111.22
Kết quả:
Da Nang
KHONG RO
Giải thích ví dụ
43A-123.45: hai ký tự đầu là"43", có trong bảng, inDa Nang.99B-111.22: mã"99"không có trong bảng nên inKHONG RO. Viếtbang_ma["99"]sẽ báoKeyError(Runtime Error); phải hỏi trước bằnginhoặc dùngbang_ma.get(ma, "KHONG RO")(mục 8.1.1).
Lưu ý
- Mã tỉnh là hai ký tự đầu (
bien_so[:2]), không phải "một chuỗi con nằm đâu đó trong biển số": biển99B-129.43có chứa29và43ở phần số nhưng vẫn làKHONG RO. - Seri có thể dài 2 ký tự (
29LD-678.90), nên đừng lấy mã bằng cách bỏ "một chữ cái cuối" của phần trước dấu-.
Nguồn: Bài C8-01, mục 8.9, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long.
Nguồn trong sách: bài tập C8-01 (mục 8.9) · Mức: (*)
Đang tải...