编程题
### 问题描述 给定一棵有根树,节点编号从 $1$ 到 $n$。你需要为每个节点染色,满足以下条件: 1. 树中的每个节点可以染成两种颜色之一:$0$ 或 $1$。 2. 相邻的两个节点(即有一条边直接相连的节点)不能都被染成颜色 $1$。 请计算满足以上条件的染色方案的数量。 ### 输入格式 第一行包含一个整数 $n$,$(1 \leq n \leq 10^5)$,表示树的节点数。 接下来的 $n-1$ 行,每行包含两个整数 $u$ 和 $v$,$(1 \leq u, v \leq n)$,表示树上存在一条边连接节点 $u$ 和节点 $v$。 ### 输出格式 输出一个整数,表示满足条件的染色方案的数量。由于结果可能很大,输出结果模 $10^9+7$。 ### 样例输入 ``` 5 1 2 1 3 3 4 3 5 ``` ### 样例输出 ``` 14 ``` ### 说明 首先,我们可以将输入数据的树结构可视化如下: ```txt 1 / \ 2 3 / \ 4 5 ``` 下面是染色的一些可能方案: 1. $1-0, 2-1, 3-1, 4-0, 5-0$ 2. $1-1, 2-0, 3-0, 4-1, 5-1$ 3. $1-1, 2-0, 3-0, 4-0, 5-1$ 4. $1-1, 2-0, 3-0, 4-1, 5-0$ 5. $1-0, 2-1, 3-0, 4-1, 5-1$ 6. $1-0, 2-1, 3-0, 4-0, 5-1$ 7. $1-0, 2-1, 3-0, 4-1, 5-0$ 8. $...$(其他方案) 当我们尝试所有可能的染色方案时,我们找到了总共 14 种满足条件的染色方案。 这就是为什么输出是 14 的原因。 ### 评测数据规模 - 对于 $30$% 的评测数据,树的节点数 $n \leq 50$。 - 对于 $60$% 的评测数据,树的节点数 $n \leq 500$。 - 对于 $100$% 的评测数据,树的节点数 $n \leq 10^5$。
查看答案
赣ICP备20007335号-2