当前没有测试数据。
F - 最短好路径
给定一个有N个顶点和M条边的简单连通无向图(简单图没有重边和自环)
对于i=1,2,…,M,第i条边连接顶点ui和ui。
如果满足以下两个条件,那么序列(A1,A2,…,Ak)被称为长度为k的路径:
- 对于所有的i=1,2,…,k都成立1≤Ai≤N。
- 对于所有的i=1,2,…,k−1,顶点Ai和顶点Ai+1由一条边直接连接。
空序列被视为长度为0的路径。
设S=s1s2…sN是一个长度为N且由0和1组成的字符串。
路径A=(A1,A2,…,Ak)被称为相对于S的一个好路径,满足以下条件:
- 对于所有的i=1,2,…,N成立:
- 如果si=0,则A中i的数目是偶数。
- 如果si=1,则A中i的数目时奇数。
共有2N种可能的S(换句话说,存在2N个长度为N且由0和1组成的字符串)。求出所有这些S相对于S的最短好路径长度的和。
在问题的约束下,可以证明,对于长度为N且由0和1组成的字符串S,至少存在一条相对于S的好路径。
约束条件
- 2≤N≤17
- N−1≤M≤2N(N−1)
输入
标准输入包含如下格式的数据
N M
u1 v1
u2 v2
⋮
uM vM
输出
输出结果。
【输入样例1】
3 2
1 2
2 3
【输出样例1】
14
说明
对于S=000,偶数个i的空序列()是相对于S的最短好路径,其长度为0。
对于S=100,(1)是相对于S的最短好路径,其长度为1。
对于S=010,(2)是相对于S的最短好路径,其长度为1。
对于S=110,(1,2)是相对于S的最短好路径,其长度为2。
对于S=001,(3)是相对于S的最短好路径,其长度为1。
对于S=101,(1,2,3,2)是相对于S的最短好路径,其长度为4。
对于S=011,(2,3)是相对于S的最短好路径,其长度为2。
对于S=111,(1,2,3)是相对于S的最短好路径,其长度为3。
因此,所求答案为0+1+1+2+1+4+2+3=14。
【输入样例2】
5 5
4 2
2 3
1 3
2 1
1 5
【输出样例2】
108