Problem C
Image Is Everything
---- The 2004 ACM Programming Contest World Finals ----

Your new company is building a robot that can hold small lightweight objects. The robot will have the intelligence to determine if an object is light enough to hold. It does this by taking pictures of the object from the 6 cardinal directions, and then inferring an upper limit on the object’s weight based on those images. You must write a program to do that for the robot.
 「新しい会社が小さな軽量物体を持ち上げられるロボットを組み立てている。このロボットは物体の重さを知的に判別することができる。つまり、6方向から物体の写真を撮り、これらのイメージから重さの上限を推測するのだ。ロボット用のこのプログラムを作って欲しい。」

You can assume that each object is formed from an N×N×N lattice of cubes, some of which may be missing. Each 1×1×1 cube weighs 1 gram, and each cube is painted a single solid color. The object is not necessarily connected.
 「物体は N×N×N 立方体の格子状になっていて、いくつかは欠けているかもしれない。1×1×1 立方体の重さは1グラム。各立方体はそれぞれ、一色で塗られている。物体はつながる必要がない。」

Input
The input for this problem consists of several test cases representing different objects. Every case begins with a line containing N, which is the size of the object (1<=N<=10). The next N lines are the different N×N views of the object, in the order front, left, back, right, top, bottom. Each view will be separated by a single space from the view that follows it. The bottom edge of the top view corresponds to the top edge of the front view. Similarly, the top edge of the bottom view corresponds to the bottom edge of the front view. In each view, colors are represented by single, unique capital letters, while a period (.) indicates that the object can be seen through at that location.
 「入力に異なる物体を表す複数のテストケースが含まれる。各テストケースはNが入る行から始まる。N (1<=N<=10) は物体のサイズを表す。つぎのN行は、前(front)・左(left)・後(back)・右(right)・真上(top)・真下(bottom)からみた、物体の N×N ビューが入る。各ビューの間にスペース1文字が入る。トップ(top、真上)ビューの底辺がフロント(front、前)ビューの上辺と一致するのと同様、ボトム(bottom、真下)ビューの上辺がフロントビューの底辺と一致する。各ビューにおいて、色は大文字1文字で表し、ピリオド(.) はあの位置からは物体が通り抜けて見えることを表す。」

Input for the last test case is followed by a line consisting of the number 0.
 「入力の最後に数字0の行が入る。」

Output
For each test case, print a line containing the maximum possible weight of the object, using the format shown below.
 「各テストケースに対し、物体の可能な最大重さを表示する。出力フォーマットを活用すること。」

Sample Input
3
.R. YYR .Y. RYY .Y. .R.
GRB YGR BYG RBY GYB GRB
.R. YRR .Y. RRY .R. .Y.
2
ZZ ZZ ZZ ZZ ZZ ZZ
ZZ ZZ ZZ ZZ ZZ ZZ
0

Output for the Sample Input
Maximum weight: 11 gram(s)
Maximum weight: 8 gram(s)

Comments are closed.

Post Navigation