题目描述
DZY 有 n 种化学品,且它们之间有 m 对会发生反应。他想将这些化学品倒入一个试管中,并且需要一个一个地倒入,顺序可以任意。
我们考虑试管的危险性。一个试管初始的危险性是 1。每当 DZY 倒入一种化学品时,如果试管中已经有一种或多种能够与之发生反应的化学品,则试管的危险性会翻倍(即 ×2)。否则,危险性保持不变。
找出在最佳顺序下,倒入所有化学品后可能达到的最大危险性。
输入格式
第一行包含两个用空格分隔的整数 n 和 m
(1≤n≤50; 0≤m≤2n(n−1)
接下来的 m 行中,每行包含两个用空格分隔的整数 xi 和 yi (1<=xi<yi<=n)。这些整数意味着化学品 xi 将与化学品 yi 发生反应。每对化学品在输入中最多出现一次。
考虑所有化学品的编号从 1 到 n 的某种顺序。
输出格式
输出一个整数,表示最大可能的危险性。
样例解释
在第一个样例中,只有一种倒入方式,危险性不会增加。
在第二个样例中,无论我们先倒入第 1 种化学品还是先倒入第 2 种化学品,答案始终是 2。
在第三个样例中,有四种方式可以达到最大可能的危险性:2-1-3,2-3-1,1-2-3 和 3-2-1(即倒入的化学品编号顺序)。