201153: [AtCoder]ARC115 D - Odd Degree
Description
Score : $600$ points
Problem Statement
Given is a simple undirected graph with $N$ vertices and $M$ edges, where the vertices are numbered $1, \ldots, N$ and the $i$-th edge connects Vertex $A_i$ and Vertex $B_i$. For each $K(0 \leq K \leq N)$, find the number of spanning subgraphs (※) with exactly $K$ vertices with odd degrees. Since the answers can be enormous, print it modulo $998244353$.
(※) A subgraph $H$ of $G$ is said to be a spanning subgraph of $G$ when the vertex set of $H$ equals the vertex set of $G$ and the edge set of $H$ is a subset of the edge set of $G$.
Constraints
- $1 \leq N \leq 5000$
- $0 \leq M \leq 5000$
- $1 \leq A_i , B_i \leq N$
- The given graph is simple, that is, it contains no self-loops and no multi-edges.
Input
Input is given from Standard Input in the following format:
$N$ $M$ $A_1$ $B_1$ $A_2$ $B_2$ $:$ $A_M$ $B_M$
Output
Print $N+1$ lines. The $i$-th line should contain the answer for $K=i-1$.
$ans_0$ $ans_1$ $:$ $ans_N$
Sample Input 1
3 2 1 2 2 3
Sample Output 1
1 0 3 0
Each spanning subgraph has the following number of vertices with odd degrees:
- the subgraph with no edges has $0$ vertices with odd degrees;
- the subgraph with just the edge connecting $1$ and $2$ has $2$ vertices with odd degrees;
- the subgraph with just the edge connecting $2$ and $3$ has $2$ vertices with odd degrees;
- the subgraph with both edges has $2$ vertices with odd degrees.
Sample Input 2
4 2 1 2 3 4
Sample Output 2
1 0 2 0 1