No.2256 Step by Step
タグ : / 解いたユーザー数 8
作問者 : noya2 / テスター : shobonvip 👑 Nachia
問題文
noya君はブロック $0,1,\dots, 9$ の $10$ 種類のブロックをそれぞれたくさん用意しました。
noya君はこれらのうちいくつかのブロックを置いたあと、後述する手順に従ってブロックを消すゲームをします。
ブロックの位置は $xyz$ 空間の座標で表されます。$x$ 軸の正方向を東向き、$z$ 軸の正方向を鉛直上向きとします。
ブロックを置く手順は次のとおりです。
$N=3$ の例を示します。画面左方向が $x$ 軸の正方向(東向き)、画面上方向が $z$ 軸の正方向(鉛直上向き)です。 数字は各ブロックの種類を表しています。
012 345 345 225 141 300
ブロックを消す手順は次のとおりです。
手順 $4$ は、鉛直下向きに重力がはたらくとして、ブロックが地面 $z=1$ または他のブロックの真上に来るまで落下させる、と思うことができます。
先ほどのブロックを置いた例では次のようにブロックが消されていきます。
012 01 345 34 01 0 345 34 34 3 0 225 222 34 3 3 141 141 141 111 3 300 300 300 300 300 000 => => => => => =>この例ではゲームは成功となります。
$N$ が与えられます。ゲームが成功となるようなブロックの置き方が存在するか判定し、 存在するなら置き方の例を $1$ つ示してください。
制約
入力
$N$
出力
ゲームが成功となるようなブロックの置き方が存在する場合、位置 $(i,0,j)$ に置くブロックの種類を表す数字が
$S_{j,i}$ になるように長さ $N$ の文字列 $S_6,S_5,S_4,S_3,S_2,S_1$ をこの順で改行区切りで出力してください。
存在しない場合、-1
を出力してください。
サンプル
サンプル1
入力
3
出力
012 345 345 225 141 300
問題文で示した例のとおりです。$z$ 座標が大きい位置にある(上にある)ブロックから順に出力することに注意してください。
サンプル2
入力
4
出力
4551 3662 6777 3005 3442 0112
次のように消されていきます。
4551 4 3662 3551 4 1 1 1 6777 6662 3552 552 2 1 3005 3005 3005 005 555 2 3442 3442 3442 4442 002 002 00 0112 0112 0112 0112 0112 0112 0111 000 => => => => => => => =>
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。