Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:7.5 s 空间限制:1024 MB

#4591. 「300iq Contest 2」数仙人掌 加强版

Statistics

题目描述

题面参考 Codeforces Gym 102331 C. Counting Cactus

仙人掌是一种无向连通图,其中每条边最多在一个简单环内。

cactus

Dreamoon 现在有一个无向图,他想知道这个无向图有多少子图(边的子集)是一个仙人掌?请你找到方案数取模 $998244353$。

输入格式

第一行输入两个整数 $n, m$ 表示图的点数和边数。

接下来 $m$ 行,每行两个数 $u, v$,表示一条边的两个端点,保证输入没有重边和自环。

输出格式

输出一个整数表示生成仙人掌的数量,对 $998244353$ 取模。

样例 1

input

3 3
1 2
2 3
3 1

output

4

样例 2

input

5 0

output

0

样例 3

input

8 9
1 5
1 8
2 4
2 8
3 4
3 6
4 7
5 7
6 8

output

35

数据范围与提示

  • $1\le n\le \mathbf{18}$
  • $0\le m\le \frac{n(n-1)}2$
  • $u\neq v, 1\le u, v\le n$, 输入的全体 $(u, v), (v, u)$ 互不相同

子任务:

  • ($16$ 分)$n\le 5$
  • ($20$ 分)$n\le 7$
  • ($14$ 分)$n\le 10$
  • ($20$ 分)$n\le 13$
  • ($10$ 分)$n\le 16$
  • ($20$ 分)没有附加限制