CÂY CON CHUNG LỚN NHẤT

Nguồn: None

Cho 2 cây ~ T_1 ~ và ~ T_2 ~ mỗi cây có ~ n ~ nút. Cây ~ T_1 ~ có nút gốc là ~ r_1 ~, cây ~ T_2 ~ có nút gốc là ~ r_2 ~, Các nút trên cây được đánh số thứ tự từ 1 đến ~ n ~. Hãy tìm cây con chung của ~ T_1 ~ và ~ T_2 ~ sao cho số nút của cây con chung là lớn nhất.

Biết rằng cây ~ St ~ (có nút gốc ~ r_st~ ) được gọi là cây con của cây ~ T ~ (có nút gốc ~ r_t ~ ) khi thỏa một trong hai điều kiện:

  1. ~ St ~ giống ~ T ~ hoàn toàn.
  2. Từ ~ T ~ có thể loại bỏ 1 cung ~ (u,v) ~ sao cho ~ T ~ trở thành 2 cây: cây thứ nhất có nút gốc ~ r_t ~, cây thứ 2 có nút gốc ~ v ~. Trong đó cây thứ 2 giống hoàn toàn cây ~ St ~.

Ví dụ:

Ở hình trên cây ~ St ~ là cây con của cây ~ T ~ vì khi xóa cung ~ (1,2) ~ thu được cây có gốc ~ v=2 ~ giống cây ~ St ~.

Dữ liệu vào

  • Dòng đầu ghi số nguyên dương ~ n ~ ~ ( 1 ≤ n ≤ 10^5) ~ là số nút của mỗi cây.
  • Dòng thứ hai ghi số nguyên ~ r_1 ~ ~ (1 ≤ r_1 ≤ n) ~ là nút gốc của cây thứ nhất.
  • ~ n-1 ~ dòng tiếp theo, mỗi dòng ghi 2 số nguyên ~ u, v ~ cho biết 1 cung trên cây ~ T_1 ~, trong đó ~ u ~ là “cha” của ~ v ~.
  • Dòng tiếp theo ghi số nguyên ~ r_2 ~ ~ (1 ≤ r_2 ≤ n ) ~ là nút gốc của cây thứ hai.
  • ~ n-1 ~ dòng tiếp theo, mỗi dòng ghi 2 số nguyên ~ u,v ~ cho biết 1 cung trên cây ~ T_2 ~, trong đó ~ u ~ là “cha” của ~ v ~.

Kết quả

Một số nguyên duy nhất cho biết số nút của cây con chung lớn nhất của hai cây ~ T_1 ~ và ~ T_2 ~.

Ví dụ:

Input 1

6 
6
2 5
3 2
5 1
5 4
6 3
6
2 5
5 1
5 4
6 3
6 2 

Output 1

4 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. gialinh_10van (23/25)
  2. phamnhi (21/77)
  3. hoangha_10van (15/21)
Trong 7 ngày
  1. phamnhi (126/299)
  2. ilpnvm (68/110)
  3. dambinh (61/97)
Trong 30 ngày
  1. ducchinh (184/249)
  2. hienpham (183/244)
  3. bichngoc (179/266)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 37787

Lưu Hải Phong - 2020
[email protected]