[BOJ 15262] Embedding Enumeration

View as PDF

Submit solution

Points: 6
Time limit: 4.0s
Memory limit: 512M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

As you probably know, a tree is a graph consisting of n nodes and n − 1 undirected edges in which any two nodes are connected by exactly one path. In a labeled tree each node is labeled with a different integer between 1 and n. In general, it may be hard to visualize trees nicely, but some trees can be neatly embedded in rectangular grids.</p>

Given a labeled tree G with n nodes, a 2 by n embedding of G is a mapping of nodes of G to the cells of a rectangular grid consisting of 2 rows and n columns such that:

  • Node 1 is mapped to the cell in the upper-left corner.
  • Nodes connected with an edge are mapped to neighboring grid cells (up, down, left or right).
  • No two nodes are mapped to the same cell.

Find the number of 2 by n embeddings of a given tree, modulo 109 + 7.

 

입력 형식

The first line contains an integer n (1 ≤ n ≤ 300 000) — the number of nodes in G. The j-th of the following n − 1 lines contains two different integers aj and bj (1 ≤ aj, bj ≤ n) — the endpoints of the j-th edge.

출력 형식

Output the number of 2 by n embeddings of the given tree, modulo 109 + 7.

예제 입력

5
1 2
2 3
2 4
4 5

예제 출력

4

힌트

</p>

All 4 embeddings of the tree in the example input are given in the figure above.


Comments

There are no comments at the moment.