Câu hỏi:
26/06/2024 67Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
Để giải quyết vấn đề này, trước hết chúng ta cần xác định liệu có đường đi từ một nhà đến nhà khác không, bằng cách sử dụng hàm find_path mà chúng ta đã viết trước đó. Sau đó, chúng ta sẽ kiểm tra xem có đường đi giữa hai người bạn không.
Dưới đây là cách triển khai trong Python:
def find_unreachable_students(graph):
unreachable_students = [] # Danh sách các bạn học sinh không thể đi xe đạp đến nhau
# Duyệt qua tất cả các cặp học sinh trong lớp
for student1 in graph:
for student2 in graph:
if student1 != student2:
# Kiểm tra xem có đường đi từ nhà của student1 đến nhà của student2 không
path = find_path(graph, student1, student2)
if not path:
unreachable_students.append((student1, student2))
return unreachable_students
# Ví dụ về đồ thị được biểu diễn bằng danh sách kề
graph = {
'Alice': ['Bob', 'Charlie'],
'Bob': ['Alice', 'David', 'Eva'],
'Charlie': ['Alice', 'Frank'],
'David': ['Bob'],
'Eva': ['Bob', 'Frank'],
'Frank': ['Charlie', 'Eva']
}
# Tìm các bạn học sinh không thể đi xe đạp đến nhau
unreachable_students = find_unreachable_students(graph)
if unreachable_students:
print("Có những bạn học sinh không thể đi xe đạp đến nhau:")
for student1, student2 in unreachable_students:
print(student1, "và", student2)
else:
print("Không có bạn học sinh nào không thể đi xe đạp đến nhau.")
- Lưu ý: Trong đoạn mã trên, hàm find_unreachable_students sẽ duyệt qua tất cả các cặp học sinh trong danh sách và kiểm tra xem có đường đi nào giữa họ không. Nếu không có đường đi, họ sẽ được thêm vào danh sách unreachable_students. Sau đó, danh sách này sẽ được in ra để thông báo cho chúng ta biết những học sinh nào không thể đi xe đạp đến nhau.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Sửa lại phần nhập dữ liệu hai học sinh: sẽ nhập trực tiếp tên hai học sinh, kiểm tra các tên này có nhập đúng không và thực hiện yêu cầu như trong chương trình trên.
Câu 2:
Trong bài thực hành trước chúng ta đã được ôn tập và giải một số bài toán có áp dụng thuật toán duyệt đồ thị theo chiều sâu. Còn về thuật toán duyệt theo chiều rộng em có biết gì về các ứng dụng thực tế của bài toán này không?
Câu 3:
Câu 4:
Thiết lập hàm printpath(s,t) không đệ quy có tính năng tương tự hàm cùng tên trong chương trình trên.
263 câu Trắc nghiệm tổng hợp ôn thi tốt nghiệp THPT môn Tin học Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính có đáp án
15 câu Trắc nghiệm Tin học 12 KNTT Bài 7: HTML và cấu trúc trang web
Đề thi học kì 1 Tin học 12 Kết nối tri thức có đáp án- Đề 1
15 câu Trắc nghiệm Tin học 12 KNTT Bài 10: Tạo liên kết
15 câu Trắc nghiệm Tin học 12 KNTT Bài 11: Chèn tệp tin đa phương tiện và khung nội tuyến vào trang web
15 câu Trắc nghiệm Tin học 12 KNTT Bài 9: Tạo danh sách, bảng
15 câu Trắc nghiệm Tin học 12 KNTT Bài 8: Định dạng văn bản
15 câu Trắc nghiệm Tin học 12 Cánh diều Bài 1: Làm quen với ngôn ngữ đánh dấu siêu văn bản
về câu hỏi!