题单练习 状态压缩DP

A6189 | GEPPETTO

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

Geppetto 开了一家披萨店,他正在努力做出全市最好的披萨。

Geppetto 用 $N$ 种原材料做比萨,每种原材料只有一个。原材料标号为 $1$ 到 $N$。做披萨很简单,只要把原材料混合好然后放进烤箱里烤一烤就行了。但 Geppetto 发现一共有 $M$ 对原材料是冲突的,如果一对冲突的原材料混合在一份披萨里,这份披萨就会变得十分难吃。这给他带来了额外的麻烦。

Geppetto 想知道他最多能做多少种不同的比萨。如果一份比萨上有编号为 $i$ 的原材料,而另一份比萨上没有,那么这两份比萨就是不同的。

输入格式

第一行两个整数 $N,M$,分别表示原材料总数和冲突总数。

接下来 $M$ 行,每行两个整数 $x_i,y_i$,表示一对冲突中两种原材料的编号。

输出格式

一行一个整数,表示 Geppetto 最多能做多少种披萨。

输入输出样例

输入 #1
3 2
1 2
2 3
输出 #1
5
输入 #2
3 0
输出 #2
8
输入 #3
3 3
1 2
1 3
2 3
输出 #3
4
C++ 编辑器
输入
输出