QOJ.ac

QOJ

حد الوقت: 4 s حد الذاكرة: 1024 MB مجموع النقاط: 100 قابلة للهجوم ✓

#18672. 石膏模型作り

الإحصائيات

太郎は型に石膏を流し込んで固めて、様々な形を作る趣味がある。太郎が今回準備した型は、縦の長さが$R$、横の長さが$C$、高さが$1$の直方体の形である。

出来上がった形が単純だと、石膏模型を作る楽しさが減る。そこで太郎は直径と高さが$1$の円柱を$R \times C$個持ってきた。太郎は円柱を全て型の中に配置した後、空いた空間に石膏を流し込むことにした。

円柱を型に配置する際には、型を$R \times C$個の単位立方体に分割し、各単位立方体の中にぴったり収める必要がある。円柱を配置できる向きは三種類あり、回転軸が横を向くか、縦を向くか、床に垂直になるように置くことができる。

太郎が円柱を全て配置したら、型に石膏を流し込んで固め、その後全ての円柱を取り除く。すると、複数の分離した石膏片ができる。例えば、縦の長さが$1$で横の長さが$2$の直方体の型に、二つの円柱を回転軸が床に垂直になるように配置すると、合計$6$個の石膏片ができる。

一方、上記の例で、一つの円柱の回転軸が縦を向くように配置を変えると、合計$5$個の石膏片ができる。

太郎が型に円柱を配置する方法が与えられたとき、合計で何個の石膏片ができるかを求めよ。

入力

最初の行に、型の縦の長さと横の長さを表す整数 $R$ と $C$ が空白区切りで与えられる。($1 \le R, C \le 200$)

続く $R$ 行に、太郎が型に円柱を配置する方法が与えられる。各行は長さ $C$ の文字列であり、文字列を構成する文字の意味は以下の通りである。

  • H: 回転軸が横を向く円柱
  • I: 回転軸が縦を向く円柱
  • O: 回転軸が床に垂直な円柱

出力

最初の行に、石膏を固めた後に全ての円柱を取り除くとできる石膏片の個数を出力する。

入出力例

入力 1

1 2
OO

出力 1

6

入力 2

1 2
OI

出力 2

5

入力 3

1 2
OH

出力 3

4

入力 4

2 2
IH
HI

出力 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.