Nội dung Bài tập
Mã:
DHLTNC.DJS.8.3
Tên:
Tổ tiên chung gần nhất
Dạng thi:
oi
Thang điểm:
10 điểm
Giới hạn thời gian:
1 giây
Giới hạn bộ nhớ:
256 MB
Được tạo bởi:
nhiph

Một cây là một đồ thị vô hướng, trong đó bất kỳ hai đỉnh được kết nối bởi chính xác một con đường đơn giản. Nói cách khác, bất kỳ biểu đồ được kết nối nào không có chu kỳ là một cây.

Tổ tiên chung gần nhất (LCA) là một khái niệm trong lý thuyết đồ thị và khoa học máy tính. Gọi T là một cây có gốc với N nút. Tổ tiên chung thấp nhất được định nghĩa giữa hai nút v và w là nút thấp nhất trong T có cả v và là hậu duệ (nơi chúng ta cho phép một nút là hậu duệ của chính nó).

   Nhiệm vụ của bạn trong vấn đề này là tìm Tổ tiên chung gần nhất (LCA)  của bất kỳ hai nút nào được cho v và w trong một cây T.

Ví dụ: Tổ tiên chung gần nhất(LCA) của các nút 9 và 12 trong cây này là nút số 3.

Input

-       Dòng đầu tiên là số N – là số lượng các nút trong cây, 1 <= N <= 1.000. Các nút được đánh số từ 1 đến N.

-       Dòng thứ 2: số M – là số lượng cạnh trong cây

-       Các dòng M tiếp theo, mỗi dòng sẽ chứa chỉ số đầu và chỉ số cuối của cạnh thứ i

-       Dòng cuối cùng là dòng chứa 2 số x và y, là 2 giá trị cần tìm tổ tiên chung gần nhất của nó

Đầu vào sẽ đảm bảo rằng chỉ có một gốc và không có chu kỳ.

Output

-  In ra Tổ tiên chung gần nhất của x và y


Ví dụ:


InputOutput
9  
8 
6 9
6 8
3 7
3 5
3 6
1 4
1 2
1 3
9 5
3


    Quảng cáo
       Ngôn ngữ : 

       Theme : 
Mời bạn soạn code



		



      Ai có thể xem bài này : 

Thông tin



Phần thảo luận