Mạng truyền dẫn viễn thông gồm các trạm nối với nhau theo chiều một chiều (cáp quang). Từ trạm gốc 'G', hãy liệt kê mọi trạm có thể đến được và số chặng (số cáp) ngắn nhất tính từ G theo cách lan truyền theo tầng (BFS bằng đệ quy).
Bảng canh:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| tu | VARCHAR(5) | Trạm đầu |
| den | VARCHAR(5) | Trạm cuối |
Yêu cầu: in tram và so_chang (số cáp ít nhất từ G tới trạm đó). Bản thân G có so_chang = 0. Giả thiết đồ thị không có chu trình.
Ví dụ: G->A, A->B thì A có so_chang 1, B có so_chang 2.
SETUP SQL tạo bảng canh và chèn dữ liệu.
Đồ thị có hướng, không chu trình. Không dùng NOW/CURDATE.
Mỗi dòng: tram, so_chang. Sắp xếp theo so_chang tăng dần, tram tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE canh (tu VARCHAR(5), den VARCHAR(5));
INSERT INTO canh VALUES ('G','A'),('A','B'),('G','C'),('C','B');Đầu ra:
G 0
A 1
C 1
B 2
Giải thích:
Đang tải editor...