CSES - Nested Ranges Check | Kiểm tra đoạn bao chứa

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1500 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho \(n\) đoạn, nhiệm vụ của bạn là xác định xem với mỗi đoạn có chứa một số đoạn nào khác và có một số đoạn nào khác chứa nó hay không.

Đoạn \([a,b]\) chứa đoạn \([c,d]\) nếu \(a \le c\)\(d \le b\).

Input

  • Dòng đầu vào đầu tiên có một số nguyên \(n\): số lượng đoạn
  • Sau đó có \(n\) dòng mô tả các đoạn. Mỗi dòng có hai số nguyên \(x\)\(y\): đoạn là \([x,y]\)
  • Bạn có thể giả định rằng không có đoạn nào xuất hiện nhiều hơn một lần trong đầu vào

Constraints

  • \(1 \le n \le 2 \cdot 10^5\)
  • \(1 \le x < y \le 10^9\)

Output

  • Trước tiên, in một dòng mô tả cho mỗi đoạn (theo thứ tự đầu vào) nếu nó chứa một số đoạn khác (1) hoặc không (0)
  • Sau đó, in một dòng mô tả cho mỗi đoạn (theo thứ tự đầu vào) nếu có một số đoạn khác chứa nó (1) hoặc không (0)

Example

Test 1

Input
4
1 6
2 4
4 8
3 6
Output
1 0 0 0
0 1 0 1
Note
  • Đoạn thứ nhất \([1,6]\) chứa đoạn thứ hai \([2,4]\) và đoạn thứ tư \([3,6]\)
  • Đoạn thứ hai \([2,4]\) không chứa đoạn nào khác
  • Đoạn thứ ba \([4,8]\) không chứa đoạn nào khác
  • Đoạn thứ tư \([3,6]\) không chứa đoạn nào khác
  • Đoạn thứ nhất \([1,6]\) không bị chứa bởi đoạn nào khác
  • Đoạn thứ hai \([2,4]\) bị chứa bởi đoạn thứ nhất \([1,6]\)
  • Đoạn thứ ba \([4,8]\) không bị chứa bởi đoạn nào khác
  • Đoạn thứ tư \([3,6]\) bị chứa bởi đoạn thứ nhất \([1,6]\)

Bình luận (1)

Mới nhất
Tải bình luận...