C1913 [Contest #14]水平竖直线段

内存限制:256 MB 时间限制:3000 ms

题目描述

平面上,给出 $n$ 条水平线段和 $n$ 条竖直线段,保证不同线段不在同一直线上。

若两线段有交点则它们连通,若线段 $a$ 与线段 $b$ 连通,且线段 $b$ 与线段 $c$ 连通,则 $a$ 和 $c$ 也连通。无法用以上关系推出连通的两组线段就是不连通。

一条线段 $a$ 是关键的,当且仅当存在另外两条线段 $b,c$ ,使得 $b,c$ 连通,且删去 $a$ 后 $b,c$ 不连通。

对于所有给定的线段,请求出他们是否是关键的。

输入格式

第一行一个整数 $n$ ($2 \le n \le 10^5$),表示共有 $n$ 条水平线段和 $n$ 条竖直线段。

接下来 $n$ 行,当中的第 $i$ 行有两个整数 $l_i, r_i$ ($1 \le l<r \le n$),表示一条两端点为 $(l_i, i)$ 和 $(r_i, i)$ 的水平线段。

接下来还有 $n$ 行,当中的第 $i$ 行有两个整数 $d_i,u_i$ ($1 \le d_i <u_i \le n$),表示一条两端点为 $(i,d_i)$ 和 $(i, u_i)$ 的竖直线段。

输出

输出两行,每行是一个长度为 $n$ 的 01 串,第一行第 $i$ 位为 $1$ 当且仅当第 $i$ 条水平线段是关键的,第二行第 $i$ 位为 $1$ 当且仅当第 $i$ 条竖直线段是关键的。

样例

样例输入 1

10 1 4 2 7 1 6 3 7 2 4 1 9 1 3 9 10 3 5 1 7 1 7 1 3 1 3 3 7 1 2 3 5 1 7 5 7 3 9 9 10

样例输出 1

0100010000 1001000010

提示