Câu hỏi:

13/07/2024 61

Phân nhóm người nghi nhiễm Covid-19

Một nhóm gồm 7 người được đánh số từ 0 đến 6, có một số cặp người thường xuyên tiếp xúc trao đổi với nhau được mô tả như trong Hình 1. Một ngày, người 0 xét nghiệm và được xác định là bị nhiễm COVID-19, người ta cần phân 7 người thành các nhóm, người 0 sẽ thuộc nhóm FO, những người tiếp xúc với người ở nhóm FO sẽ được xếp vào nhóm F1, những người tiếp xúc với người ở nhóm 1-1 sẽ được xếp vào nhóm 12,....

Phân nhóm người nghi nhiễm Covid-19 Một nhóm gồm 7 người được đánh số từ 0 đến 6, có một số cặp người thường xuyên tiếp xúc trao đổi với nhau được mô tả như trong Hình 1.  (ảnh 1)

Nhiệm vụ: Dùng thuật toán duyệt đồ thị theo chiều rộng bắt đầu từ người 0 để phân nhóm người nghi nhiễm COVID-19.

Sách mới 2k7: 30 đề đánh giá năng lực DHQG Hà Nội, Tp. Hồ Chí Minh, BKHN 2025 mới nhất (600 trang - chỉ từ 160k).

Mua bộ đề Hà Nội Mua bộ đề Tp. Hồ Chí Minh Mua đề Bách Khoa

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Dùng măng hàng đợi Q đề thăm các đỉnh theo chiều rộng, máng level để ghi nhận nhóm nghi nhiễm, Hình 2, 3, 4 mô tá ba bước đầu tiên trong quá trình thực hiện.

Mã giả để thực hiện nhiệm vụ phân nhóm người nghi nhiễm COVID-19 bằng thuật toán duyệt đồ thị theo chiều rộng (BFS):

from collections import deque

# Biểu diễn đồ thị bằng danh sách kề

graph = {

   0: [1, 2],

   1: [0, 3],

   2: [0, 4, 5],

   3: [1, 6],

   4: [2],

   5: [2],

   6: [3]

}

# Hàm thực hiện BFS để phân nhóm

def bfs_covid_contact_tracing(graph, start):

   # Khởi tạo hàng đợi và danh sách nhóm

   queue = deque([start])

   levels = {start: 'FO'}  # Người 0 thuộc nhóm FO

   visited = {start}

   # Duyệt đồ thị

   while queue:

        vertex = queue.popleft()

        for neighbour in graph[vertex]:

            if neighbour not in visited:

                visited.add(neighbour)

                queue.append(neighbour)

                # Phân nhóm dựa trên nhóm của người tiếp xúc

                levels[neighbour] = 'F1' if levels[vertex] == 'FO' else 'F2'

   return levels

# Gọi hàm và in kết quả

levels = bfs_covid_contact_tracing(graph, 0)

for person, level in levels.items():

   print(f'Người {person} thuộc nhóm {level}')

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Bài toán Tìm đường đi trong mê cung 

Nam đang chơi trò chơi tìm đường đi trong mê cung như trong Hình 5. Dùng thuật toán duyệt đồ thị theo chiều sâu đề kiểm tra: Nam có thể đi vào mê cung từ góc trái trên và ra khỏi mê cung ở góc phải dưới hay không ?

Bài toán Tìm đường đi trong mê cung  Nam đang chơi trò chơi tìm đường đi trong mê cung như trong Hình 5. Dùng thuật toán duyệt đồ thị theo chiều sâu đề kiểm tra: Nam có thể đi vào mê cung từ góc trái trên và ra khỏi mê cung ở góc phải dưới hay không ? (ảnh 1)

Xem đáp án » 13/07/2024 204

Bình luận


Bình luận
Đăng ký thi VIP

VIP 1 - Luyện 1 môn của 1 lớp

  • Được thi tất cả đề của môn bạn đăng ký có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi đáp với đội ngũ chuyên môn với những vấn đề chưa nắm rõ của môn bạn đang quan tâm.

Lớp đăng ký:

Môn đăng ký:

Đặt mua

VIP 2 - Combo tất cả các môn của 1 lớp

  • Được thi tất cả đề của tất cả các môn (Toán, Lí, Hóa, Anh, Văn,...) trong lớp bạn đăng ký có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi đáp với đội ngũ chuyên môn với tất cả những vấn đề chưa nắm rõ.
  • Ẩn tất cả các quảng cáo trên Website

Lớp đăng ký:

Đặt mua

VIP 3 - Combo tất cả các môn tất cả các lớp

  • Siêu tiết kiệm - Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi đáp với đội ngũ chuyên môn với tất cả những vấn đề chưa nắm rõ.
  • Ẩn tất cả các quảng cáo trên Website

Bạn sẽ được luyện tất cả các môn của tất cả các lớp.

Đặt mua

tailieugiaovien.com.vn