CSES - Counting Paths

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
https://cses.fi/problemset/task/1136
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

You are given a tree consisting of ~n~ nodes, and ~m~ paths in the tree.

Your task is to calculate for each node the number of paths containing that node.

Input

  • The first input line contains integers ~n~ and ~m~: the number of nodes and paths. The nodes are numbered ~1,2,\ldots,n~.

Then there are ~n-1~ lines describing the edges. Each line contains two integers ~a~ and ~b~: there is an edge between nodes ~a~ and ~b~.

Finally, there are ~m~ lines describing the paths. Each line contains two integers ~a~ and ~b~: there is a path between nodes ~a~ and ~b~.

Output

  • Print ~n~ integers: for each node ~1,2,\ldots,n~, the number of paths containing that node.

Constraints

  • ~1 \le n, m \le 2 \cdot 10^5~
  • ~1 \le a,b \le n~

Example Input

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

Example Output

3 1 3 1 1

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.