#56768. 与或序列
与或序列
暂无测试数据。
云浅有一个长为 $n$ 的序列 $A$。但是,她忘记了序列 $A$ 中的元素具体都是什么。
不过好在她记得序列 $A$ 的 $m$ 条特征,每条特征可以用一个四元组 $(x_i,y_i,z_i,t_i)$ 表示,意思是:
- 若 $t_i=0$,则表示 $A_{x_i}\&A_{y_i}=z_i$。
- 若 $t_i=1$,则表示 $A_{x_i}\text{|}A_{y_i}=z_i$。
其中 $\&$ 表示二进制下的「与」运算,$|$ 表示「或」运算。
此外,她还知道,序列中的每个数都是 $[0,k)$ 中的一个整数,其中 $k$ 是 $2$ 的正整数次幂。
请你根据这些特征还原这个序列。如果有多个可能的序列,你只需要输出其中的一个即可。
如果你认为云浅记错了即不存在这样的序列,请输出 -1
。
输入格式
第一行三个正整数 $n,m,k$。
接下来 $m$ 行,每行四个正整数 $x_i,y_i,z_i,t_i$ 表示一条特征。
输出格式
若不存在这样的序列,输出 -1
;否则输出 $n$ 个 $[0,k)$ 之间的整数表示一个合法的答案。
如果有多个可能的序列,你只需要输出其中的一个即可。
数据范围
数据点编号 | 数据范围 |
---|---|
$1\sim 4$ | $n,m,k\le 8$ |
$5\sim 6$ | $t_i=0,z_i=k-1$ |
$7\sim 8$ | $t_i=0$ |
$9\sim 10$ | $t_i=1,z_i=0$ |
$11\sim 12$ | $t_i=1$ |
$13\sim 20$ | 无特殊限制 |
对于 $100\%$ 的数据,$1\le x_i,y_i\le n\le 2\times 10^5,m\le \min\left(2\times 10^5,n^2\right),0\le z_i\le k\le 10^9,t_i\in\{0,1\}$。
3 5 8
1 1 1 0
1 2 0 0
2 2 4 1
1 1 1 0
3 2 0 0
1 4 3
10 4 16
1 1 4 1
5 1 4 1
1 9 1 0
9 8 1 0
-1