Bài 3.5. Kiểm Tra Tín Hiệu Giao Thông Thông Minh - [Độ khó: Khó]
Bài 3.5. Kiểm Tra Tín Hiệu Giao Thông Thông Minh - [Độ khó: Khó]
Bạn được giao nhiệm vụ viết chương trình điều khiển trung tâm cho một hệ thống tín hiệu giao thông thông minh. Hệ thống này nhận các mã tín hiệu từ các cảm biến khác nhau tại các ngã tư và đưa ra quyết định về trạng thái của đèn giao thông (Xanh, Vàng, Đỏ) và cảnh báo tình trạng giao thông.
INPUT FORMAT
Một dòng chứa hai giá trị:
MaTinHieu
(ký tự): Mã tín hiệu từ cảm biến.- 'A': Lưu lượng xe cao ở Hướng A
- 'B': Lưu lượng xe cao ở Hướng B
- 'C': Cảnh báo khẩn cấp (ví dụ: xe cứu thương)
- 'P': Phát hiện người đi bộ
- 'S': Tình trạng giao thông bình thường
MucDoCanhBao
(số nguyên): Mức độ cảnh báo bổ sung (từ 0 đến 3), chỉ có ý nghĩa với một số loại mã tín hiệu.- 0: Không có cảnh báo/Bình thường
- 1: Cảnh báo nhẹ
- 2: Cảnh báo trung bình
- 3: Cảnh báo nghiêm trọng
Các ràng buộc:
MaTinHieu
là một trong các ký tự 'A', 'B', 'C', 'P', 'S'.0 <= MucDoCanhBao <= 3
OUTPUT FORMAT
In ra một trong các chuỗi sau, mô tả trạng thái đèn và cảnh báo:
"Den Xanh Huong A - Luu Luong Cao"
"Den Xanh Huong B - Luu Luong Cao"
"Den Do - Khan Cap!"
"Den Vang - Nguoi Di Bo"
"Den Xanh Tat Ca - Giao Thong On Dinh"
"Den Vang - Nguy Hiem Nhe"
"Den Do - Nguy Hiem Trung Binh"
"Den Do - Nguy Hiem Nghiem Trong"
"Trang Thai Khong Hop Le"
Logic hoạt động (sử dụng switch-case
cho MaTinHieu
, và if-else
lồng cho MucDoCanhBao
):
- Ưu tiên cao nhất: Mã khẩn cấp 'C':
- Nếu
MaTinHieu
là 'C' vàMucDoCanhBao
là 3 ->"Den Do - Khan Cap!"
(Ưu tiên tuyệt đối). - Nếu
MaTinHieu
là 'C' vàMucDoCanhBao
là 2 ->"Den Vang - Nguy Hiem Trung Binh"
- Nếu
MaTinHieu
là 'C' vàMucDoCanhBao
là 1 ->"Den Vang - Nguy Hiem Nhe"
- Nếu
MaTinHieu
là 'C' vàMucDoCanhBao
là 0 ->"Den Do - Khan Cap!"
(Mặc định khi có tín hiệu C mà không có mức độ cụ thể).
- Nếu
- Mã 'P' (Người đi bộ):
- Nếu
MaTinHieu
là 'P' vàMucDoCanhBao
là 0 hoặc 1 ->"Den Vang - Nguoi Di Bo"
- Nếu
MaTinHieu
là 'P' vàMucDoCanhBao
là 2 hoặc 3 ->"Den Do - Nguy Hiem Trung Binh"
(Mức độ nguy hiểm cao hơn)
- Nếu
- Mã 'A' (Lưu lượng cao Hướng A):
- Nếu
MaTinHieu
là 'A' vàMucDoCanhBao
là 0 ->"Den Xanh Huong A - Luu Luong Cao"
- Nếu
MaTinHieu
là 'A' vàMucDoCanhBao
là 1 ->"Den Vang - Nguy Hiem Nhe"
- Nếu
MaTinHieu
là 'A' vàMucDoCanhBao
là 2 hoặc 3 ->"Den Do - Nguy Hiem Nghiem Trong"
(Ưu tiên an toàn khi có cảnh báo đi kèm)
- Nếu
- Mã 'B' (Lưu lượng cao Hướng B):
- Tương tự như 'A', nhưng cho Hướng B.
- Nếu
MaTinHieu
là 'B' vàMucDoCanhBao
là 0 ->"Den Xanh Huong B - Luu Luong Cao"
- Nếu
MaTinHieu
là 'B' vàMucDoCanhBao
là 1 ->"Den Vang - Nguy Hiem Nhe"
- Nếu
MaTinHieu
là 'B' vàMucDoCanhBao
là 2 hoặc 3 ->"Den Do - Nguy Hiem Nghiem Trong"
- Mã 'S' (Bình thường):
- Nếu
MaTinHieu
là 'S' vàMucDoCanhBao
là 0 ->"Den Xanh Tat Ca - Giao Thong On Dinh"
- Nếu
MaTinHieu
là 'S' vàMucDoCanhBao
là 1 ->"Den Vang - Nguy Hiem Nhe"
- Nếu
MaTinHieu
là 'S' vàMucDoCanhBao
là 2 hoặc 3 ->"Den Do - Nguy Hiem Trung Binh"
- Nếu
- Các trường hợp không khớp:
- Nếu
MaTinHieu
không thuộc các ký tự hợp lệ ('A', 'B', 'C', 'P', 'S') HOẶCMucDoCanhBao
không hợp lệ (ngoài 0-3) ->"Trang Thai Khong Hop Le"
(Kiểm tra này nên được thực hiện đầu tiên hoặc sau cùng, tùy thuộc vào cách triển khai cấu trúc rẽ nhánh). Để đơn giản, giả định input luôn hợp lệ theo ràng buộc, chỉ cần xử lý các trường hợp logic.
- Nếu
Ví dụ:
Input:
C 3
Output:
Den Do - Khan Cap!
Giải thích:
- Mã tín hiệu 'C' (khẩn cấp) với mức độ cảnh báo 3 có ưu tiên cao nhất, dẫn đến đèn đỏ ngay lập tức và cảnh báo khẩn cấp.
Input:
A 0
Output:
Den Xanh Huong A - Luu Luong Cao
Giải thích:
- Mã tín hiệu 'A' (lưu lượng cao hướng A) với mức độ cảnh báo 0 (bình thường), hệ thống cho phép đèn xanh ở hướng A.
Input:
P 1
Output:
Den Vang - Nguoi Di Bo
Giải thích:
- Mã tín hiệu 'P' (người đi bộ) với mức độ cảnh báo 1. Hệ thống chuyển đèn vàng để cảnh báo xe cộ giảm tốc độ hoặc dừng lại cho người đi bộ.
Input:
S 2
Output:
Den Do - Nguy Hiem Trung Binh
Giải thích:
- Mã tín hiệu 'S' (bình thường) nhưng có mức độ cảnh báo 2 (trung bình). Mặc dù giao thông bình thường, cảnh báo này cho thấy có rủi ro tiềm ẩn, nên hệ thống chuyển sang đèn đỏ để đảm bảo an toàn.
Input:
X 0
Output:
Trang Thai Khong Hop Le
Giải thích:
- Mã tín hiệu 'X' không phải là mã hợp lệ đã được định nghĩa.
Comments