{"problem":{"name":"[POI 2001] 绿色游戏","description":{"content":"绿色游戏是一种两人游戏，双方分别称 $\\text{Ann}$ 和$\\text{Billy}$。游戏的内容主要是轮流在棋盘上移动一颗棋子。 棋盘上的点一部分是绿色的，其余是白色的。它们全部从 $1$ 至 $a+b$ 编号。编号 $1$ 至 $a$ 的点属于 $\\text{Ann}$ ，编号 $a+1$ 至 $a+b$ 的点属于 $\\text{Billy}$。每个点都有一些后继点，均可一步到达。属于","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":131072},"difficulty":{"LuoguStyle":"P5"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP8371"},"statements":[{"statement_type":"Markdown","content":"绿色游戏是一种两人游戏，双方分别称 $\\text{Ann}$ 和$\\text{Billy}$。游戏的内容主要是轮流在棋盘上移动一颗棋子。\n\n棋盘上的点一部分是绿色的，其余是白色的。它们全部从 $1$ 至 $a+b$ 编号。编号 $1$ 至 $a$ 的点属于 $\\text{Ann}$ ，编号 $a+1$ 至 $a+b$ 的点属于 $\\text{Billy}$。每个点都有一些后继点，均可一步到达。属于 $\\text{Ann}$ 的点的后继点一定属于 $\\text{Billy}$，反之亦然。所有的点都至少有一个后继点，这样总可以往下走一步。\n\n游戏开始时把棋子放在任意的一点 $P$ 上，然后双方轮流移动棋子至当前所在点（属于移动方）的一个后继点上（属于对手）。游戏由点 $P$ 的拥有者开始，结束时棋子第二次到达了某一点，称点 $Q$。如果在从点 $Q$ 至点 $Q$ 的一连串移动中，棋子至少一次被放到绿色点上，则 $\\text{Ann}$ 赢。若从点 $P$ 开始，不管 $\\text{Billy}$ 如何移动， $\\text{Ann}$ 总能保证赢得这次游戏，则称 $\\text{Ann}$ 对起始点 $P$ 有必胜的策略。\n\n请你编写一个程序：\n \n1. 读入对棋盘的描述。\n\n2. 算出 $\\text{Ann}$ 有必胜策略的起始点。\n\n## Input\n\n首行有两个整数 $a$ 和 $b$ ，两个整数之间用一个空格分开，分别表示属于 $\\text{Ann}$ 和 $\\text{Billy}$ 的点数 $(1 \\le a，b \\le 3000)$。以下 $a+b$ 行是对各点的描述，先描述 $\\text{Ann}$ 的点，再描述 $\\text{Billy}$ 的点。\n\n第 $i+1$ 行（$1 \\le i \\le a+b$） 以整数 $z，k$ 开始：$z$ 表示点 $i$ 的颜色（$0$－白色，$1$－绿色），$k$ 表示后继点的数目。然后是 $K$ 个整数（$2 \\le k \\leq a+b$），写在同一行，代表点 $i$ 后继点的编号，这些整数均用一个空格分开。绿点的个数不超过 $100$ ，所有点的后继点的个数之和不超过 $30000$ 。\n\n## Output\n\n首行仅一个整数 $L$ ，代表 $\\text{Ann}$ 有 $L$ 个有必胜策略的起始点。以下 $L$ 行按升序顺序依次给出这些点的编号。\n\n[samples]","is_translate":false,"language":"English"}],"meta":{"iden":"LGP8371","tags":["2001","POI（波兰）"],"sample_group":[["5 3\n0 2 6 7\n0 3 6 7 8\n0 1 8\n1 1 7\n1 1 8\n1 2 1 2\n0 2 1 2\n0 2 3 4","5\n1\n2\n4\n6\n7"]],"created_at":"2026-03-03 11:09:25"}}