P8383 [POI 2004] Bra

题目描述

让我们考虑一个包含 $n$ 个门的电路。 门从 $0$ 到 $n-1$ 编号,每个门都包含若干个输入和一个输出。 每一个输入和输出都只可能是 $0,1,\dfrac{1}{2}$ 三种状态,每个输入都连接着某个门的输出,输入的状态就等于它连接的输出的状态值,而每个输出可能连接着任意多个输入。 $0$ 和 $1$ 是很特殊的两个门。门 $0$ 的输出永远为 $0$,门 $1$ 的输出永远为 $1$。 一个门有效的输出状态条件如下: 1. 它的输入中 $0$ 的个数多于 $1$ 的个数那么输出状态为 $0$。 2. 它的输入中 $0$ 的个数等于 $1$ 的个数那么输出状态为 $\dfrac{1}{2}$。 3. 它的输入中 $0$ 的个数少于 $1$ 的个数那么输出状态为 $1$。 4. 对于门 $0$ 和 $1$,他们分别输出 $0$ 和 $1$。 现在给出电路信息,请你编写一个程序,确定所有可以确定状态的门的状态分别是什么。

输入格式

第一行一个数 $n$。 接下来 $n-2$ 行表示门的连接信息,第 $i$ 行描述第 $i$ 个门的输入端,一个数 $k_i$ 表示它的输入端个数,接下来 $k_i$ 个数分别表示每个输入端的门的编号。

输出格式

输出 $n$ 行,表示 $n$ 个门的输出状态。如果确定,请输出具体状态值,否则输出 $?$ 。

说明/提示

对于全部数据,$2 \le n \le 10000,k_i \ge 1$,数据保证所有门的输入端总数不超过 $200000$。