QOJ.ac

QOJ

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

#8858. Ladrilhos de mapa

Statistics

Publicar mapas não é uma tarefa fácil. Primeiro é necessária uma transformação adequada para representar a forma esférica da Terra num plano bidimensional. Depois surge outro problema: a maioria dos mapas de alta qualidade é demasiado grande para ser impressa numa única folha de papel. Para resolver isso, os editores dividem frequentemente os mapas em vários ladrilhos retangulares, imprimindo cada um numa página. Neste problema, irá examinar este processo de «ladrilhamento».

A International Cartographic Publishing Company (ICPC) precisa de reduzir os custos de impressão, minimizando o número de ladrilhos usados nos seus mapas. Mesmo com o tamanho do ladrilho (determinado pelo tamanho da página) e a escala do mapa fixos, ainda é possível otimizar a situação ajustando a grelha de ladrilhos.

O lado esquerdo da Figura G.1 mostra 14 ladrilhos de mapa a cobrir uma região. O lado direito mostra como cobrir a mesma região com apenas 10 ladrilhos, sem alterar o tamanho nem a orientação dos ladrilhos.

problem_8858_072de00871fc24a0923a002dc8691c5e.png

Figura G.1: Duas formas possíveis de ladrilhar Texas.

A sua tarefa é ajudar a ICPC a encontrar o número mínimo de ladrilhos necessários para cobrir uma região dada. Por simplicidade, a região será dada como um polígono fechado que não se interseta a si próprio.

Os ladrilhos têm de fazer parte de uma grelha retangular alinhada com os eixos $x$ e $y$. Isto é, só podem tocar-se ao longo de lados completos e não podem ser rodados. Note também que, embora todas as coordenadas de entrada sejam inteiras, os ladrilhos podem situar-se em coordenadas não inteiras.

O polígono pode tocar nas linhas do limite exterior (como na entrada do exemplo 2). Contudo, para evitar problemas de vírgula flutuante, pode assumir que a resposta ótima não muda mesmo que o polígono possa ultrapassar os ladrilhos do mapa por uma distância de $10^{-6}$.

Entrada

A entrada contém um único caso de teste. A primeira linha contém três inteiros: $n$, $x_s$ e $y_s$. O número de vértices do polígono é $n$ ($3\le n\le 50$), e $x_s$ e $y_s$ ($1\le x_s,y_s\le 100$) são as dimensões de cada ladrilho. Cada uma das $n$ linhas seguintes contém dois inteiros $x$ e $y$ ($0\le x\le 10x_s$, $0\le y\le 10y_s$), que especificam os vértices do polígono que representa a região, por ordem horária ou anti-horária.

Saída

Apresente o número mínimo de ladrilhos necessários para cobrir todo o interior do polígono.

Exemplos

Entrada 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

Saída 1

10

Entrada 2

4 5 7
10 10
15 10
15 17
10 17

Saída 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.