1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Bランク・スキルチェック過去問題セット(言語選択)
  4. 問題一覧 Objective-C編
  5. 3Dプリンタ Objective-C編

Bランク・スキルチェック過去問題セットのサムネイル
3Dプリンタ Objective-C編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

あなたは念願の3Dプリンタを購入しました。早速、いろいろな立体を出力して楽しみましょう!

3Dプリンタに入力される立体のデータは、大きさ 1×1×1 の立方体(セルという)を一つ以上組み合わせることで得られます。より正確に述べると次のようになります:

三次元空間で図1のような座標系 (x,y,z) を考えます。



立体データは、各座標 (x,y,z) でのセルが立体に含まれるかどうかを指定することで得られます。例えば、図2の立体は 14 個のセル (1,1,1), (1,2,1), (1,3,1), (2,1,1), (2,2,1), (3,1,1), (1,1,2), (1,2,2), (2,1,2), (2,2,2), (1,1,3), (1,2,3), (2,1,3), (2,2,3) を組み合わせることで得られます。



あなたはまず、出力したい立体のデータを作りました。あとは、データを3Dプリンタに入力して印刷するだけです。

しかし、データにミスがあっては大変です。慎重なあなたは、実際に印刷を始める前に、出力される立体を正面(x軸の正の方向)から見たときの図を求めてみることにしました。(図3)



立体のデータが入力された時、この立体を正面から見たときの図を出力するプログラムを書きましょう。

入力される値

入力は以下のフォーマットで与えられます。

X Y Z
(1,1,1) (1,2,1) ... (1,Y,1)
(2,1,1) (2,2,1) ... (2,Y,1)
...
(X,1,1) (X,2,1) ... (X,Y,1)
--
(1,1,2) (1,2,2) ... (1,Y,2)
(2,1,2) (2,2,2) ... (2,Y,2)
...
(X,1,2) (X,2,2) ... (X,Y,2)
--
...
--
(1,1,Z) (1,2,Z) ... (1,Y,Z)
(2,1,Z) (2,2,Z) ... (2,Y,Z)
...
(X,1,Z) (X,2,Z) ... (X,Y,Z)
--

ここで、X は立体の奥行きを、Y は立体の横幅を、Z は立体の高さを表す整数です。
入力の 2 行目以降は、ある立体のデータを表しています。
各 (x,y,z) は '#' または '.' からなる一文字で、この文字が '#' のときはセル (x,y,z) が立体に含まれることを、'.' のときはセル (x,y,z) が立体に含まれないことを意味します。(1 ≦ x ≦ X, 1 ≦ y ≦ Y, 1 ≦ z ≦ Z)

入力には、X 行ごとに区切り記号
"--"
が入ることに注意してください。また、二つのセル (x,y,z) と (x,y+1,z) の間には、実際には空白文字は入っていないことに注意してください。(以下の入力例を参照)


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

入力された立体を正面(x軸の正の方向)から見たときの図を Z 行 Y 列で出力してください。

最後は改行し、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・ 1 ≦ X ≦ 50
・ 1 ≦ Y ≦ 50
・ 1 ≦ Z ≦ 50

入力例1

3 3 3
###
##.
#..
--
##.
##.
...
--
##.
##.
...
--

出力例1

##.
##.
###

入力例2

5 5 5
#####
#####
#####
#####
#####
--
#####
#...#
#...#
#...#
#####
--
#####
#...#
#...#
#...#
#####
--
#####
#...#
#...#
#...#
#####
--
#####
#####
#####
#####
#####
--

出力例2

#####
#####
#####
#####
#####

入力例3

3 26 5
............#.............
......#..#.....#####......
#.....................#..#
--
............#.............
......#..#......#.........
#.....................#..#
--
............#.............
......####.......#........
####..................####
--
............#.............
......#..#........#.......
#..#..................#..#
--
............#.............
......####.....#####......
####..................####
--

出力例3

####..####..#..#####..####
#..#..#..#..#.....#...#..#
####..####..#....#....####
#.....#..#..#...#.....#..#
#.....#..#..#..#####..#..#

問題一覧へ戻る

ページの先頭へ戻る