QOJ.ac

QOJ

Limite de temps : 4 s Limite de mémoire : 1024 MB Points totaux : 100 Hackable ✓

#18672. Fabrication d'un modèle en plâtre

Statistiques

현우 a un hobby : verser du plâtre dans un moule et le laisser durcir pour créer diverses formes. Le moule qu'il a préparé cette fois-ci a la forme d'un parallélépipède rectangle de longueur verticale $R$, de longueur horizontale $C$ et de hauteur $1$.

Si la forme obtenue est trop simple, le plaisir de créer des modèles en plâtre diminue. C'est pourquoi Hyunwoo a apporté $R \times C$ cylindres de diamètre et hauteur $1$. Il a décidé de placer tous les cylindres dans le moule, puis de verser du plâtre dans les espaces vides.

Lors de la disposition des cylindres dans le moule, on divise d'abord le moule en $R \times C$ cubes unitaires, puis on place chaque cylindre exactement à l'intérieur d'un cube unitaire. Il y a trois orientations possibles pour un cylindre : l'axe de rotation peut être horizontal, vertical, ou perpendiculaire au fond.

Une fois que Hyunwoo a placé tous les cylindres, il verse le plâtre dans le moule, le laisse durcir, puis retire tous les cylindres. On obtient alors plusieurs morceaux de plâtre séparés. Par exemple, dans un moule parallélépipédique de dimensions $1$ (vertical) par $2$ (horizontal), si on place deux cylindres avec leur axe de rotation perpendiculaire au fond, on obtient un total de $6$ morceaux de plâtre.

D'autre part, si dans l'exemple ci-dessus on change l'orientation d'un cylindre pour que son axe de rotation soit vertical, on obtient un total de $5$ morceaux de plâtre.

Étant donné la manière dont Hyunwoo a placé les cylindres dans le moule, déterminez le nombre total de morceaux de plâtre obtenus.

Entrée

La première ligne contient deux entiers $R$ et $C$ séparés par un espace, indiquant respectivement la dimension verticale et la dimension horizontale du moule. ($1 \le R, C \le 200$)

Les $R$ lignes suivantes décrivent la disposition des cylindres dans le moule. Chaque ligne contient une chaîne de longueur $C$, dont les caractères ont la signification suivante :

  • H : cylindre dont l'axe de rotation est horizontal
  • I : cylindre dont l'axe de rotation est vertical
  • O : cylindre dont l'axe de rotation est perpendiculaire au fond

Sortie

La première ligne doit contenir le nombre de morceaux de plâtre obtenus après durcissement du plâtre et retrait de tous les cylindres.

Exemples

Entrée 1

1 2
OO

Sortie 1

6

Entrée 2

1 2
OI

Sortie 2

5

Entrée 3

1 2
OH

Sortie 3

4

Entrée 4

2 2
IH
HI

Sortie 4

2

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.