ヒューマン・リソース・マシーン 攻略 入社29年目 間接的な指定
ここで解説している内容なりヒントなりはあくまで筆者の解法に基づいたものなので、別の考え方ももちろんあるよ。ってのは念頭に置いてください。
課題
左側の各数値は、カーペット上の「番号」を示しています。
各番号の場所におかれている文字を取得し、右側に運んでください。
使用可能な命令
- inbox
- outbox
- copyfrom
- copyto
- add
- sub
- bump+
- bump-
- jump
- jump_if_zero
- jump_if_neg
初出命令
- 間接指定
カーペットを指定する命令にて、[ ]付きで数値を指定することで、 [ ]内のカーペット上にある数値の番号のカーペットを対象にすることが出来る。 文章だけだとイメージが付きにくいので、イメージが付かない場合は、この問題で遊んでみることを推奨
効率目標
- サイズ:5行
- スピード:25ステップ
ヒント
その1
問題文を命令に置き換えるだけ。
今回は「間接指定」のチュートリアル
回答例 + 解説
サイズ + スピード
回答例 + 解説
ラベル1:// 1セットの開始位置 1. inbox 2. copyto 10 3. copyfrom [10] 4. outbox 5. jump:ラベル1へ
チュートリアル的な問題。今回は「間接指定」の使い方。
左のパネルを取って(inbox)、間接指定用の番号として保持(copyto)
保持した番号を使って間接指定でパネルを取得(copyfrom)して、右側へ運ぶ(outbox)
これを1セットとしてひたすら繰り返す(jump)