Hide

Problem C
Punkt i polygon

Languages da en

Du får givet et simpelt polygon og et søgepunkt, og du skal afgøre, om søgepunktet ligger inden for eller uden for polygonet.

I det 1., 3. og 4. eksempel nedenfor ligger søgepunktet $q$ indenfor; i de øvrige ligger det udenfor.

\includegraphics[width=3cm]{001.pdf} \includegraphics[width=3cm]{002.pdf} \includegraphics[width=3cm]{003.pdf} \includegraphics[width=3cm]{004.pdf} \includegraphics[width=3cm]{005.pdf}

Input

Indlæsningen består af:

  • Én linje med søgepunktets koordinater $q_x$ og $q_y$.

  • Én linje med tallet $n$, antallet af polygonets hjørner, hvor $3\leq n\leq 100\, 000$.

  • $n$ linjer, hvor for $1\leq i \leq n$ den $i$’te linje indeholder koordinaterne $x_i$ og $y_i$.

Hver koordinat er givet som et reelt tal med decimalpunktum. $x$‑koordinaterne opfylder $0\leq q_x, x_1,\ldots ,x_n\leq 180$. $y$‑koordinaterne opfylder $0\leq q_y, y_1,\ldots ,y_n\leq 90$.

Det er garanteret, at alle punkter er forskellige, og at $(x_1,y_1),\ldots ,(x_n,y_n),(x_1,y_1)$ (i denne rækkefølge) danner randen af et simpelt polygon. Afstanden mellem søgepunktet $q$ og polygonets rand er mindst $10^{-6}$. Det betyder, at punktet garanteret ligger enten strengt inden for eller strengt uden for polygonet.

Output

Skriv “inside” hvis $q$ ligger inden for polygonet. Ellers skriv “outside”.

1 1
1.0 1.0
4
0.0 0.0
2.0 0.0
2.0 2.0
0.0 2.0
inside
2 2
0.0 0.0
4
1.0 0.0
2.0 1.0
1.0 2.0
0.0 1.0
outside
3 3
1.0 1.0
6
0.0 0.0
2.0 0.0
2.0 1.0
3.0 1.0
3.0 2.0
0.0 2.0
inside
4 4
1.0 1.0
4
1.0 0.0
2.0 1.0
1.0 2.0
0.0 1.0
inside
5 5
1.0 1.0
8
1.0 0.0
2.0 1.0
1.0 2.0
0.0 1.0
0.25 0.75
1.0 1.5
1.5 1.0
0.75 0.25
outside

Please log in to submit a solution to this problem

Log in