CF1715D 2+ doors
题目描述
Narrator 有一个长度为 $n$ 的数组 $a$,但是他会仅告诉你 $n$ 和 $q$ 条信息,每条信息都包含三个数字 $i,j,x$,代表 $a_i \mid a_j = x$,其中 $|$ 是[二进制按位或运算](https://en.wikipedia.org/wiki/Bitwise_operation#OR)。
请找出字典序最小的数组 $a$ 满足这些条件。
一个数组 $a$ 在字典序意义下比一个数组 $b$ 小,当且仅当满足如下条件:
- 在 $a$ 中第一个和 $b$ 元素不同的位置中,$a$ 的元素比 $b$ 中对应位置的元素小。
输入格式
第一行输入两个整数 $n$ 和 $q$($1 \le n \le 10^5$,$0 \le q \le 2 \cdot 10^5$)。
接下来 $q$ 行,读入三个整数 $i$,$j$,$x$($1 \le i, j \le n $,$ 0 \le x < 2^{30} $)。
保证至少存在一个数组 $a$ 满足所有 $q$ 个要求。
输出格式
输出一行 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i < 2^{30}$)。
说明/提示
在样例 $1$ 中,以下这些数组满足所有条件:
- $ [0, 3, 2, 2] $,
- $ [2, 1, 0, 0] $,
- $ [2, 1, 0, 2] $,
- $ [2, 1, 2, 0] $,
- $ [2, 1, 2, 2] $,
- $ [2, 3, 0, 0] $,
- $ [2, 3, 0, 2] $,
- $ [2, 3, 2, 0] $,
- $ [2, 3, 2, 2] $。