【华为OD机试真题 java、python】无向图染色问题(100%通过+复盘思路)

代码请进行一定修改后使用,本代码保证100%通过率,本题提供了java和python两种代码。复盘思路在文章的最后

题目描述

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

那我们定义一个红黑图,也就是一张无向图中,每个节点可能有红黑两种颜色,但我们必须保证没有两个相邻的红色节点。现在给出一张未染色的图,只能染红黑两色,问总共有多少种染色方案使得它成为一个红黑图。

输入描述

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


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

输出描述

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

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

3 3
0 1
0 2
1 2

输出

4

示例2 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

4 3

0 1

0 2

1 2

输出

8

思路:

暴力模拟出所有情况即可,如果有相邻的,此情况不再加1,且直接br

你可能感兴趣的:(华为od机试,java,算法,c++)