Loading Now

friendsGroup

Trong giờ hoạt động ngoại khóa cô giáo chủ nhiệm muốn tổ chức cho lớp có n học sinh một số trò chơi. Để đạt được hiệu quả cao cô chia lớp ra thành các nhóm, rồi đánh số thứ tự cho các em lần lượt từ 1 đến n và những em nào chơi thân với nhau theo hình thức bắc cầu sẽ làm thành một nhóm, có nghĩa là nếu em thứ i chơi thân với em thứ j mà em thứ j lại chơi thân với em thứ k thì ik cũng chơi thân với nhau, như vậy thì i, jk sẽ tạo thành một nhóm. Nếu i chơi thân với j thì đương nhiên j cũng chơi thân với i. Cô giáo biết được các thông tin để chia nhóm bằng danh sách cf các cặp chơi thân với nhau.

Hãy giúp cô giáo tìm được nhóm có nhiều thành viên nhất và trả về số lượng thành viên của nhóm đó.

Ví dụ: 

  • Với n = 6cf = [[1,3],[1,4],[4,2],[5,6]] thì output friendsGroup(n,cf) = 4. Sau khi sử dụng tính chất bắc cầu như đã nói ở trên thì chia được 2 nhóm là (1,2,3,4)(5,6). Số lượng nhóm nhiều thành viên nhất là 4.

Đầu vào/Đầu ra:

  • [Thời gian chạy] 0.1s (C++), 0.6s (Java, C#), 0.8s (Python, JavaScript)
  • [Đầu vào] integer n, matrix.integer cf

   0 < n ≤ 100

   1 ≤ a.size() < 104

  • [Đầu ra] integer

    Số lượng nhóm có nhiều thành viên nhất trong tất cả các nhóm đã chia.

Post Comment

Contact