Loading Now

[ Advanced algorithm] 1

Cho một đồ thị có hướng với n đỉnh, các đỉnh được đánh số từ 1 tới n. Hãy viết hàm kiểm tra xem có tồn tại đường đi từ đỉnh u tới đỉnh v (u khác v) hay không?

Các cạnh của đồ thị được biểu diễn dưới dạng mảng 2 chiều. Ví dụ:

edges = [[1, 2], [2, 3]] có nghĩa là có cạnh nối giữa đỉnh 1 và đỉnh 2, đỉnh 2 và đỉnh 3.

Ví dụ

  • Cho n = 3, edges = [[1, 2], [2, 3]], u = 1, v = 3, output sẽ có dạng findPath(n, edges, u, v) = true.
    Giải thích: đường đi từ đỉnh 1 tới đỉnh 3 có dạng: 1 -> 2 -> 3.
  • Cho n = 4, edges = [[1, 2], [3, 4], [2, 4]], u = 1, v = 3, output sẽ có dạng findPath(n, edges, u, v) = false.
    Giải thích: Từ đỉnh 3 chỉ có cạnh đi ra chứ không có cạnh đi vào nên không có đỉnh nào có thể đi tới được đỉnh 3.

Đầu vào/Đầu ra

  • [Thời gian chạy] 0.5s
  • [Đầu vào] Integer n
  • [Đầu vào] Matrix of integers edges
  • [Đầu vào] Integer u, v
  • [Đầu ra] boolean

Post Comment

Contact