测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6189. GEPPETTO

编程题 普及+/提高

题目描述

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

说明/提示

**【样例 1 解释】**

Geppetto 可以做出以下 4 种披萨:

1

2

3

1 3

不过因为 Geppetto 可以不放原材料,所以最多可以做出 5 种披萨。

**【样例 2 解释】**

没有原材料冲突,所以一共可以做出 $2^3=8$ 种披萨。

**【样例 3 解释】**

由于所有原材料都互相冲突,所以 Geppetto 只能放一种原材料或者不放原材料,一共可以做出 $1+3=4$ 种披萨。

**【数据范围】**

对于 $100\%$ 的数据,$1\le N\le 20,0\le M\le 400,1\le x_i,y_i\le N$,**保证 $x_i\ne y_i$**。
上一题 去做题 下一题