GRAPH1 - Làm quen đồ thị cây
Dữ liệu vào: Standard input
Dữ liệu ra: Standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: toilagun2004

Đồ thị: là một tập các đối tượng gọi là đỉnh nối với nhau bởi các cạnh.

 https://vi.wikipedia.org/wiki/Đồ_thị_(lý_thuyết_đồ_thị)

Xét bài toán sau: Có \(n\) vị trí, trong đó vị trí 1 là nguồn nước, còn \(n-1\) vị trí còn lại là nơi tiêu thụ. Mỗi nơi tiêu thụ nước có 1 ống dẫn nước từ nơi tiêu thụ nước khác hoặc nguồn nước. Biết rằng cần 1s để nước chảy hết từ vị trí này qua vị trí khác bằng 1 ống dẫn nước. Hỏi sau khi nguồn nước bắt đầu chảy thì bao lâu sau thì vị trí \(i\) nhận nước ?

Dễ thấy nếu coi 1 vị trí là 1 đỉnh và 1 đường ống dẫn nước là 1 cạnh thì đây sẽ là một đồ thị gồm \(n\) đỉnh \(n-1\)cạnh (do chỉ có \(n-1\) vị trí tiêu thụ nước nên chỉ có \(n-1\) ống nước tương ứng \(n-1 \) cạnh).

Phát biểu lại bài toán: Cho đồ thị \(n\) đỉnh và \(n-1\) cạnh, dữ liệu đảm bảo từ đỉnh \(1\) có thể đi được đến tất cả các đỉnh còn lại trong đồ thị. Hãy tính số lượng cạnh từ đỉnh \(1\) tới các đỉnh còn lại.

Lưu ý: Với dữ liệu như trên thì đồ thị được gọi là "cây", đảm bảo giữa mỗi cặp đỉnh bất kỳ chỉ có \(1\) đường đi duy nhất.

Dữ liệu vào:

- Dòng đầu 1 số nguyên dương n (\(n \leq 10^5\))

\(n-1\) dòng tiếp theo gồm 2 số \(u,v\) biểu thị 1 cạnh của đồ thị

Dữ liệu ra:
- Gồm \(n-1\) dòng là khoảng cách từ đỉnh \(1\) tới các đỉnh khác (từ \(2\) đến \(n\))

Ví dụ

  • input
    4
    1 3
    2 1
    3 4
    output
    1
    1
    2

---------------------------------------------------Đồ thị của test mẫu như sau-------------------------------------------

 

========================================================================

  • Từ đỉnh \(1\) tới đỉnh \(2\) đi qua 1 cạnh nối giữa 2 đỉnh 
  • Từ đỉnh \(1\) tới đỉnh \(3\) cũng chỉ đi qua 1 cạnh nối giữa 2 đỉnh 
  • Từ đỉnh \(1\) tới đỉnh \(4\) đi qua 2 cạnh nối \(1\) \(\to\) \(3\)\(3\) \(\to\) \(4\)
Back to Top