Unique Walk

AtCoder
IDabc286_g
Time2000ms
Memory256MB
Difficulty
You are given a simple connected undirected graph $G$ with $N$ vertices and $M$ edges. The vertices of $G$ are numbered vertex $1$, vertex $2$, $\ldots$, and vertex $N$, and its edges are numbered edge $1$, edge $2$, $\ldots$, and edge $M$. Edge $i$ connects vertex $U_i$ and vertex $V_i$. You are also given a subset of the edges: $S={x_1,x_2,\ldots,x_K}$. Determine if there is a walk on $G$ that contains edge $x$ exactly once for all $x \in S$. The walk may contain an edge not in $S$ any number of times (possibly zero). What is a walk? A walk on an undirected graph $G$ is a sequence consisting of $k$ vertices ($k$ is a positive integer) and $(k-1)$ edges occurring alternately, $v_1,e_1,v_2,\ldots,v_{k-1},e_{k-1},v_k$, such that edge $e_i$ connects vertex $v_i$ and vertex $v_{i+1}$. The sequence may contain the same edge or vertex multiple times. A walk is said to contain an edge $x$ exactly once if and only if there is exactly one $1\leq i\leq k-1$ such that $e_i=x$. ## Constraints * $2 \leq N \leq 2\times 10^5$ * $N-1 \leq M \leq \min(\frac{N(N-1)}{2},2\times 10^5)$ * $1 \leq U_i<V_i\leq N$ * If $i\neq j$, then $(U_i,V_i)\neq (U_j,V_j)$ . * $G$ is connected. * $1 \leq K \leq M$ * $1 \leq x_1<x_2<\cdots<x_K \leq M$ * All values in the input are integers. ## Input The input is given from Standard Input in the following format: $N$ $M$ $U_1$ $V_1$ $U_2$ $V_2$ $\vdots$ $U_M$ $V_M$ $K$ $x_1$ $x_2$ $\ldots$ $x_K$ [samples]
Samples
Input #1
6 6
1 3
2 3
3 4
4 5
4 6
5 6
4
1 2 4 5
Output #1
Yes

The walk $(v_1,e_1,v_3,e_3,v_4,e_4,v_5,e_6,v_6,e_5,v_4,e_3,v_3,e_2,v_2)$ satisfies the condition, where $v_i$ denotes vertex $i$ and $e_i$ denotes edge $i$.  
In other words, the walk travels the vertices on $G$ in this order: $1\to 3\to 4\to 5\to 6\to 4\to 3\to 2$.  
This walk satisfies the condition because it contains edges $1$, $2$, $4$, and $5$ exactly once each.
Input #2
6 5
1 2
1 3
1 4
1 5
1 6
3
1 2 3
Output #2
No

There is no walk that contains edges $1$, $2$, and $3$ exactly once each, so `No` should be printed.
API Response (JSON)
{
  "problem": {
    "name": "Unique Walk",
    "description": {
      "content": "You are given a simple connected undirected graph $G$ with $N$ vertices and $M$ edges.   The vertices of $G$ are numbered vertex $1$, vertex $2$, $\\ldots$, and vertex $N$, and its edges are numbered e",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc286_g"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You are given a simple connected undirected graph $G$ with $N$ vertices and $M$ edges.  \nThe vertices of $G$ are numbered vertex $1$, vertex $2$, $\\ldots$, and vertex $N$, and its edges are numbered e...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments