#OD084. 红黑图

红黑图

题目解析和算法源码

华为OD机试 - 红黑图(Java & JS & Python)_伏城之外的博客-CSDN博客

题目描述

总所周知红黑树是一种平衡树,它最突出的特性就是不能有两个相连的红色节点。

那我们定义一个红黑图,也就是一张无向图中,每个而节点可能有红黑两种颜色,但我们必须保证没有两个相邻的红色节点。

现在给出一张未染色的图,只能染红黑两色,问总共有多少种染色方案使得它成为一个红黑图。

输入描述

第一行两个数字 n m,表示图中有 n 个节点和 m 条边。

接下来共计 m 行,每行两个数字 s t,表示一条连接节点 s 和节点 t 的边,节点编号为 [0, n)。

输出描述

一个数字,表示总的染色方案数。

备注

  • 0 < n < 15
  • 0 ≤ m ≤ n * 3
  • 0 ≤ s, t ≤ n
  • 不保证图连通
  • 保证没有重边和自环

用例1

输入

3 3
0 1
0 2
1 2

输出

4

用例2

输入

4 3
0 1
1 2
2 3

输出

8

用例3

输入

4 3
0 1
0 2
1 2

输出

8