QOJ.ac

QOJ

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

#8858. Kartenkacheln

Statistics

Karten zu veröffentlichen ist keine einfache Aufgabe. Zunächst braucht man eine geeignete Transformation, um die Kugelgestalt der Erde in einer zweidimensionalen Ebene darzustellen. Dann entsteht ein weiteres Problem: Die meisten hochwertigen Karten sind zu groß, um auf ein einzelnes Blatt Papier gedruckt zu werden. Deshalb teilen Kartenverlage ihre Karten oft in mehrere rechteckige Kacheln und drucken jede Kachel auf eine Seite. In dieser Aufgabe untersuchst du dieses „Kacheln“.

Die International Cartographic Publishing Company (ICPC) muss ihre Druckkosten senken, indem sie die Anzahl der für ihre Karten verwendeten Kacheln minimiert. Selbst bei fester Kachelgröße (durch die Seitengröße bestimmt) und festem Kartenmaßstab lässt sich das Ergebnis durch Anpassung des Kachelrasters noch verbessern.

Die linke Seite von Abbildung G.1 zeigt 14 Kartenkacheln, die ein Gebiet überdecken. Rechts sieht man, wie dasselbe Gebiet mit nur 10 Kacheln überdeckt werden kann, ohne die Größe oder Ausrichtung der Kacheln zu ändern.

problem_8858_072de00871fc24a0923a002dc8691c5e.png

Abbildung G.1: Zwei mögliche Arten, Texas zu kacheln.

Deine Aufgabe ist es, der ICPC zu helfen, die minimale Anzahl an Kacheln zum Überdecken eines gegebenen Gebiets zu finden. Der Einfachheit halber wird das Gebiet als geschlossenes Polygon ohne Selbstüberschneidungen angegeben.

Die Kacheln müssen Teil eines rechteckigen, an der $x$- und $y$-Achse ausgerichteten Rasters sein. Das heißt, sie berühren einander nur entlang ganzer Seiten und dürfen nicht gedreht werden. Beachte auch: Obwohl alle Eingabekoordinaten ganzzahlig sind, können Kacheln an nicht ganzzahligen Koordinaten liegen.

Das Polygon darf die äußeren Randlinien berühren (wie in Beispieleingabe 2). Um Gleitkommaprobleme zu vermeiden, darfst du jedoch annehmen, dass die optimale Antwort unverändert bleibt, selbst wenn das Polygon um eine Entfernung von $10^{-6}$ über die Kartenkacheln hinausragen darf.

Eingabe

Die Eingabe besteht aus einem einzelnen Testfall. Seine erste Zeile enthält drei ganze Zahlen: $n$, $x_s$ und $y_s$. Die Anzahl der Polygonecken ist $n$ ($3\le n\le 50$), und $x_s$ sowie $y_s$ ($1\le x_s,y_s\le 100$) sind die Abmessungen jeder Kachel. Jede der folgenden $n$ Zeilen enthält zwei ganze Zahlen $x$ und $y$ ($0\le x\le 10x_s$, $0\le y\le 10y_s$), welche die Eckpunkte des das Gebiet darstellenden Polygons im oder gegen den Uhrzeigersinn angeben.

Ausgabe

Gib die minimale Anzahl an Kacheln aus, die benötigt wird, um das gesamte Innere des Polygons zu überdecken.

Beispiele

Eingabe 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

Ausgabe 1

10

Eingabe 2

4 5 7
10 10
15 10
15 17
10 17

Ausgabe 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.