CSES - Point in Polygon | Điểm trong đa giác

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: 1700 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn được cho một đa giác \(n\) đỉnh và một danh sách \(m\) điểm. Nhiệm vụ của bạn là xác định từng điểm là ở bên trong, bên ngoài hay trên cạnh của đa giác.

Đa giác gồm \(n\) đỉnh \((x_1,y_1),(x_2,y_2),...,(x_n,y_n)\). Hai đỉnh \((x_i,y_i)\)\((x_{i+1},y_{i+1})\) là kề nhau với \(i=1,2,...,n-1,\) và hai đỉnh \((x_1,y_1)\)\((x_n,y_n)\) cũng kề nhau.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\)\(m\): số đỉnh của đa giác và số điểm
  • Tiếp theo là \(n\) dòng mô tả đa giác. Dòng thứ \(i\) chứa hai số nguyên \(x_i\)\(y_i\)
  • Giả sử đó là đa giác đơn, tức là nó không có cạnh giao nhau
  • Cuối cùng là \(m\) dòng mô tả các điểm. Mỗi dòng chứa hai số nguyên \(x\)\(y\)

Constraints

  • \(3 \leq n \leq 1000\)
  • \(1 \leq m \leq 1000\)
  • \(-10^9 \leq x_i,y_i \leq 10^9\)
  • \(-10^9 \leq x,y \leq 10^9\)

Output

  • Với mỗi điểm, in ra INSIDE, OUTSIDE hoặc BOUNDARY

Example

Test 1

Input
4 3
1 1
4 2
3 5
1 4
2 3
3 1
1 3
Output
INSIDE
OUTSIDE
BOUNDARY

Bình luận (4)

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