途径 (walk):途径是连接一连串顶点的边的序列,可以为有限或无限长度.形式化地说,一条有限途径 w 是一个边的序列 e_1, e_2, \ldots, e_k,使得存在一个顶点序列 v_0, v_1, \ldots, v_k 满足 e_i = (v[i-1], v_i),其中 i \in [1, k].这样的途径可以简写为 v_0 \to v_1 \to v_2 \to \cdots \to v_k.通常来说,边的数量 k 被称作这条途径的长度(如果边是带权的,长度通常指途径上的边权之和,题目中也可能另有定义).
迹 (trail):对于一条途径 w,若 e_1, e_2, \ldots, e_k 两两互不相同,则称 w 是一条迹.
路径 (path)(又称 简单路径 (simple path)):对于一条迹 w,若其连接的点的序列中点两两不同,则称 w 是一条路径.
回路 (circuit):对于一条迹 w,若 v_0 = v_k,则称 w 是一条回路.
环/圈 (cycle)(又称 简单回路/简单环 (simple circuit)):对于一条回路 w,若 v_0 = v_k 是点序列中唯一重复出现的点对,则称 w 是一个环.
给的一个n点(编号为[1,n])m条边的无向图,有q次查询。
每个查询都是给出点的序列 v_1 \to v_2 \to \cdots \to v_k,求它是否是途径 (walk),是否是路径 (path),是否是环/圈 (cycle)。