QOJ.ac

QOJ

Time Limit: 20 s Memory Limit: 2048 MB Total points: 100

#8858. Kafelki mapy

Statistics

Publikowanie map nie jest łatwym zadaniem. Najpierw potrzebne jest odpowiednie przekształcenie, aby przedstawić kulisty kształt Ziemi na dwuwymiarowej płaszczyźnie. Potem pojawia się kolejny problem — większość map wysokiej jakości jest zbyt duża, by wydrukować je na jednej kartce. Dlatego wydawcy często dzielą mapy na kilka prostokątnych kafelków i drukują każdy na osobnej stronie. W tym zadaniu zbadasz ten proces „kafelkowania”.

International Cartographic Publishing Company (ICPC) musi zmniejszyć koszty druku, minimalizując liczbę kafelków używanych w swoich mapach. Nawet przy ustalonym rozmiarze kafelka (wynikającym z rozmiaru strony) i skali mapy można poprawić wynik, przesuwając siatkę kafelków.

Lewa strona rysunku G.1 przedstawia 14 kafelków mapy pokrywających pewien obszar. Prawa pokazuje, jak pokryć ten sam obszar zaledwie 10 kafelkami bez zmiany ich rozmiaru ani orientacji.

problem_8858_072de00871fc24a0923a002dc8691c5e.png

Rysunek G.1: Dwa możliwe sposoby pokrycia Texas kafelkami.

Twoim zadaniem jest pomóc ICPC znaleźć minimalną liczbę kafelków potrzebnych do pokrycia danego obszaru. Dla uproszczenia obszar będzie podany jako zamknięty wielokąt bez samoprzecięć.

Kafelki muszą należeć do prostokątnej siatki równoległej do osi $x$ i $y$. To znaczy, że mogą stykać się wyłącznie całymi bokami i nie wolno ich obracać. Zauważ też, że choć wszystkie współrzędne wejściowe są całkowite, kafelki mogą znajdować się na współrzędnych niecałkowitych.

Wielokąt może dotykać zewnętrznych linii brzegowych (jak w drugim przykładzie). Aby uniknąć problemów zmiennoprzecinkowych, możesz jednak założyć, że optymalny wynik nie zmieni się, nawet jeśli wielokąt będzie mógł wystawać poza kafelki mapy na odległość $10^{-6}$.

Wejście

Wejście zawiera jeden przypadek testowy. Pierwszy wiersz zawiera trzy liczby całkowite: $n$, $x_s$ i $y_s$. Liczba wierzchołków wielokąta to $n$ ($3\le n\le 50$), a $x_s$ i $y_s$ ($1\le x_s,y_s\le 100$) są wymiarami każdego kafelka. Każdy z kolejnych $n$ wierszy zawiera dwie liczby całkowite $x$ i $y$ ($0\le x\le 10x_s$, $0\le y\le 10y_s$), określające wierzchołki wielokąta reprezentującego obszar, w kolejności zgodnej z ruchem wskazówek zegara lub przeciwnej.

Wyjście

Wypisz minimalną liczbę kafelków potrzebnych do pokrycia całego wnętrza wielokąta.

Przykład

Wejście 1

12 9 9
1 8
1 16
6 16
9 29
19 31
23 24
30 23
29 18
20 12
22 8
14 0
14 8

Wyjście 1

10

Wejście 2

4 5 7
10 10
15 10
15 17
10 17

Wyjście 2

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.