QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#17534. 監獄

Statistics

由於無限大的區域本身就是一座監獄,因此有一群 $Q$ 名囚犯被關在惡名昭彰的座標平面監獄中,他們永遠無法逃脫。

監獄的獄卒站在原點,並擁有一定的視野。已知獄卒的視野滿足以下條件:

  • 獄卒的視野由一個具有 $N$ 個頂點的簡單多邊形所包圍,包含多邊形邊界在內的內部區域為視野範圍,不包含邊界的外部區域則為視野外。
  • 若獄卒能看見某個點,則該方向上距離更近的點也能看見。嚴格來說,視野內任意一點與原點連成的線段上的所有點,皆位於視野內。
  • 原點周圍始終在獄卒的視野內。嚴格來說,存在一個 $\varepsilon > 0$,使得以原點為圓心、半徑為 $\varepsilon$ 的圓包含在獄卒的視野內。

為了爭取一絲自由,被關在監獄裡的 $Q$ 名囚犯正合力嘗試逃離獄卒的視野。為了更有效地脫離視野,對於所有 $2 \leq i \leq N$,第 $i$ 號囚犯會根據第 $(i-1)$ 號囚犯移動後是否在視野內,依序進行以下動作:

  • 若第 $(i-1)$ 號囚犯移動後位於視野內,第 $i$ 號囚犯會看向第 $(i-1)$ 號囚犯所在方向的反方向,並移動與兩者距離相等的長度。
  • 若第 $(i-1)$ 號囚犯移動後位於視野外,第 $i$ 號囚犯會看向第 $(i-1)$ 號囚犯所在方向,並移動與兩者距離一半的長度。但由於非整數格點的座標不便久留,移動後會移動至距離該點最近的整數格點中,距離原點最近的一個點。

重視自由的你從消息來源取得了獄卒的視野資訊,並打算利用這些資訊告知囚犯們他們是否在視野內。給定囚犯們的初始位置,請撰寫一個程式,判斷每位囚犯移動後是否位於視野內。

第一行包含 $N$ 與 $Q$。($3 \leq N \leq 100\,000; 1 \leq Q \leq 100\,000$)

接下來 $N$ 行,依序給出視野多邊形的頂點座標 $(x_i, y_i)$,以逆時針順序給出。保證給定的多邊形滿足題目條件。($-10^6 \leq x_i, y_i \leq 10^6$)

接下來 $Q$ 行,依序給出每位囚犯的初始位置 $(x_j, y_j)$。($-10^6 \leq x_j, y_j \leq 10^6$)

所有給定的座標皆為整數。

從 $i=1$ 到 $i=Q$ 依序輸出,若第 $i$ 位囚犯移動後位於視野內則輸出 1,否則輸出 0。

範例

輸入格式 1

3 3
-1 -1
9 -1
-1 9
2 2
-2 3
8 0

輸出格式 1

1
0
1

輸入格式 2

6 5
0 -2
3 -10
14 -3
5 0
10 10
-5 5
0 0
-2 0
6 4
5 -5
-3 11

輸出格式 2

1
0
1
0
1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.