QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 128 MB

#23488. Papier coloré magique

Statistics

On souhaite prendre une feuille rectangulaire de papier coloré magique portant des lignes horizontales et verticales espacées de $1$ unité

et la découper horizontalement et verticalement en petits morceaux rectangulaires.

Au départ, une feuille blanche est donnée.

Ensuite, chaque fois qu’un point est donné, on découpe un morceau selon les règles suivantes.

(1) Si le point appartient à un morceau blanc, on coupe suivant la ligne horizontale passant par ce point.

Les deux morceaux obtenus deviennent noirs.

(2) Si le point appartient à un morceau noir, on coupe suivant la ligne verticale passant par ce point.

Les deux morceaux obtenus deviennent blancs.

Étant données la largeur et la hauteur du papier magique blanc et une suite ordonnée de points à l’intérieur,

écrivez un programme qui, après toutes les découpes suivant les règles ci-dessus, détermine l’aire du plus grand morceau

et l’aire du plus petit morceau.

Aucun couple de points d’entrée ne se trouve sur une même ligne horizontale ou verticale.

De plus, aucun point d’entrée ne se trouve sur le bord de la feuille initiale.

La largeur et la hauteur du papier sont des entiers positifs.

La position de chaque point de découpe est donnée par deux entiers : sa distance horizontale

et sa distance verticale depuis le coin inférieur gauche de la feuille initiale avant découpe.

Par exemple, le point 1 dans les figures ci-dessous est en $(5,4)$.

Supposons qu’une feuille de largeur $8$ et de hauteur $7$ soit découpée aux points

$(5,4)$, $(2,3)$, $(3,1)$, $(7,6)$, $(6,2)$, donnés dans cet ordre.

D’abord, le premier point découpe la feuille en deux morceaux noirs, comme dans la figure 1.

problem_23488_cfd143e7033d82497b68c092e511c119.png

Figure 1

Ensuite, le deuxième point divise le morceau noir inférieur de la figure 1 en deux morceaux blancs, comme dans la figure 2.

problem_23488_c853c5bf50df689b385dd80e4c731f46.png

Figure 2

Les découpes aux autres points, effectuées de la même manière, donnent la figure 3.

Dans ce cas, le plus grand morceau a pour aire $21$ et le plus petit a pour aire $3$.

problem_23488_0366376e97a2bd2637b58388d5e30a2b.png

Figure 3

Entrée

La première ligne contient deux entiers positifs séparés par une espace : la largeur et la hauteur du papier.

Ces deux dimensions sont au plus $40,000$.

La deuxième ligne contient un entier positif $N$, le nombre de points de découpe. On a $N\le 30000$.

De la troisième à la dernière ligne, les points de découpe sont donnés dans l’ordre, un par ligne.

Chaque position est donnée par la distance horizontale suivie de la distance verticale, séparées par une espace.

Sortie

Sur la première ligne, affichez les aires du plus grand et du plus petit morceau, dans cet ordre, séparées par une espace.

Exemples

Entrée 1

8 7 
5
5 4 
2 3 
3 1 
7 6 
6 2

Sortie 1

21 3

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.