1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 新・Bランクレベルアップメニュー(言語選択)
  4. 問題一覧
  5. 【マップの扱い 4】マップのナンバリング

新・Bランクレベルアップメニューのサムネイル
【マップの扱い 4】マップのナンバリング (paizaランク B 相当)

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

問題

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

マップの行数 H と列数 W とナンバリングの向き D が与えられるので、(0, 0) から指示通りにナンバリングしたとき、マップ全体にどのように番号が振られるかを出力してください。

ナンバリングの向き D に対応する方向と、例として 3×4 のマップをナンバリングをした結果は以下の通りです。



・D = 1 の場合



・D = 2 の場合



・D = 3 の場合



・D = 4 の場合



なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、
下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。

入力される値

H W D


・ 1 行目に盤面の行数を表す整数 H , 盤面の列数を表す整数 W , ナンバリングの向きを表す整数 D が与えられます。


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

・ ナンバリングされたマップ全体を H 行で出力してください。
・ 要素間は半角スペースで区切ってください、詳しくは入出力例を参考にしてください。

条件

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

・ 2 ≦ H, W ≦ 10
・ 1 ≦ D ≦ 4

入力例1

4 4 1

出力例1

1 3 6 10
2 5 9 13
4 8 12 15
7 11 14 16

入力例2

3 5 2

出力例2

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15

入力例3

2 2 3

出力例3

1 3
2 4

入力例4

2 5 4

出力例4

1 2 4 6 8
3 5 7 9 10

問題一覧へ戻る

ページの先頭へ戻る