Đường đi dài nhất

Xem PDF

Điểm: 1600 Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho đồ thị có hướng gồm \(N\) đỉnh và \(M\) cạnh. Các đỉnh được đánh số \(1,2,...,N\) và với mỗi \(i(1\le i\le M)\), cạnh có hướng thứ \(i\) sẽ đi từ đỉnh \(x_i\) đến đỉnh \(y_i\). \(G\) không chứa bất kì chu trình có hướng nào !

Tìm độ dài lớn nhất của đường đi có hướng trong \(G\). Ở đây, độ dài của đường đi có hướng chính là số cạnh trong nó.

Input

  • Dòng thứ nhất chứa \(2\) số nguyên \(N,M(2\le N\le 10^5; 1\le M\le 10^5)\)

  • \(M\) dòng tiếp theo mỗi dòng chứa hai số nguyên \(x_i,y_i(1\le x_i,y_i\le N )\) (Ở đây các cặp \((x_i,y_i)\) phân biệt nhau và đề đảm bảo rằng, \(G\) không chứa bất kì chu trình có hướng nào).

Example

Test 1

Input
3 2
1 2
2 3
Output
2
Note

Giải thích: Con đường có độ dài lớn nhất là : \(1\rightarrow 2\rightarrow 3\)


Bình luận

  • lecongtuantu 10:05 p.m. 3 Tháng 3, 2025

    import sys
    sys.setrecursionlimit(10**6)

    def maximize(res, val):
    return max(res, val)

    def dfs(u):
    if f[u] != -1:
    return f[u]

    f[u] = 0
    for v in G[u]:
        f[u] = maximize(f[u], dfs(v) + 1)
    
    return f[u]
    

    n, m = map(int, input().split())
    G = [[] for _ in range(n + 1)]
    for _ in range(m):
    u, v = map(int, input().split())
    G[u].append(v)

    res = 0
    f = [-1] * (n + 1)
    for u in range(1, n + 1):
    res = maximize(res, dfs(u))

    print(res)

    CODE PYTHON CHO AI KHONG LAM MA DOI CO AN

    • H_IT_K35 5:52 a.m. 19 Tháng 10, 2024

      This comment is hidden due to too much negative feedback. Click here to view it.

      • SPyofgame 11:54 p.m. 23 Tháng 8, 2020

        Bài này sao không sài dp mình vẫn AC nhỉ 🙁

        • BeTapDi 10:23 a.m. 2 Tháng 8, 2020

          nói đơn giản lại là tìm cây có độ dài lớn nhất :))

          • Vinht1k60 9:38 a.m. 2 Tháng 8, 2020

            This comment is hidden due to too much negative feedback. Click here to view it.

            • hhoangcpascal 9:34 a.m. 2 Tháng 8, 2020

              Có mùi topo =))