F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

博弈,启动!

Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 137    Accepted Submission(s): 41


Problem Description
GG 和 YY 是两个博弈玩家,他们打算参与到一个博弈比赛中,该博弈比赛给定一张含 $n$ 个 GG 节点 $u_0,\ldots,u_{n-1}$ 和 $m$ 个 YY 节点 $v_0,\ldots,v_{m-1}$ 的有向二分图 $G$。

该博弈的规则如下:


  • 一开始,有一个棋子会被放置在 $G$ 中的任意节点。

  • GG 和 YY 轮流在图上进行操作:


  • 如果棋子在 GG 节点 $u_i$ 上,GG 负责将该棋子沿 $u_i$ 出边移到一个 YY 节点 $v_j$ 上。

  • 类似的,如果棋子在 YY 节点 $v_i$ 上,YY 负责将该棋子沿 $v_i$ 出边移到一个 GG 节点 $u_j$ 上。


  • 当棋子落在一个没有出边的节点上时,该博弈终止,否则该博弈继续。



GG 的目标是让每个节点均被棋子经过无数次,而 YY 的目标则相反。假定双方玩家均采用最优策略,你的任务是判断 GG 是否有必胜策略。
 

Input
第一行一个整数 $t$($1\le t\le 200$),表示测试组数。

对于每组测试数据,第一行两个整数 $n$ 和 $m$($1\le n,m\le 300$),依次表示 GG 节点数和 YY 节点数。

接下来 $n$ 行给出 GG 节点的输出边集,第 $i$ 行以整数 $k_i$($0\le k_i\le m$)开头,接着 $k_i$ 个整数 $p_{i,1}, \ldots, p_{i,k_i}$($0\le p_{i,j}\le m-1$),表示 $u_{i-1}$ 的出边集合为 $(u_{i-1}, v_{p_{i,1}}),\ldots, (u_{i-1}, v_{p_{i,k_i}})$。

接下来 $m$ 行给出 YY 节点的输出边集,第 $i$ 行以整数 $w_i$($0\le w_i\le n$)开头,接着 $w_i$ 个整数 $q_{i,1}, \ldots, q_{i,w_i}$($0\le q_{i,j}\le n-1$),表示 $v_{i-1}$ 的出边集合为 $(v_{i-1}, u_{q_{i,1}}),\ldots, (v_{i-1}, u_{q_{i,w_i}})$。

同一组数据输入保证没有重边。所有数据的边数之和小于 $5\times 10^5$。
 

Output
对于每组测试数据,若 GG 必胜,输出一行 $\texttt{Yes}$,否则输出一行 $\texttt{No}$。
 

Sample Input
2 1 1 0 0 1 1 1 0 1 0
 

Sample Output
No Yes
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-05-08 05:35:49, Gzip enabled