30代SEの自由帳

最初のタイトルは頓挫した

ヒューマン・リソース・マシーン 攻略 入社4年目 逆にして運んで

課題

左側のコンベアのパネルがなくなるまで、右側に運んでください。運ぶときはパネルが2つごとに逆になるように運んでください。

使用可能な命令

  • inbox
  • outbox
  • copyfrom
  • copyto
  • jump

初出命令

  • copyfrom ※命令自体は既出だけど、初出挙動あり
     指定した番号のカーペット上にあるパネルのコピーを手元に用意する。  

    上に何も乗っていないカーペットを指定すると?  上司に怒られてお仕事中断(終了)。   
     
    既に手にパネルがある状態で実施すると?  手に持っているパネルを捨てて、コピーを手元に用意する。  

  • copyto
     手元のデータのコピーを指定した番号のカーペットの上に乗せる。  

    パネルを手に持っていない状態で実施すると?  上司に怒られてお仕事中断(終了)。  
     
    既にパネルが乗っているカーペットを指定すると?  乗っているパネルを捨てて新しいデータのコピーを乗せる。  

効率目標

  • サイズ:7行
  • スピード:21ステップ

ヒント

その1

カーペットは一時的な退避場所として使える。 copytoで退避して、copyfromで再び拾う。

回答例 + 解説

サイズ + スピード

回答例 + 解説

ラベル1// 1セットの開始位置
1. inbox
2. copyto 0
3. inbox
4. outbox
5. copyfrom 0
6. outbox
7. jump:ラベル1

今回もチュートリアル的な問題。今回はcopytoの使い方。 1つ目を拾ったら(inbox)、一旦カーペットに退避(copyto)して、2つ目を拾う(inbox) 2つ目を先に運んで(outbox)、退避した1つ目を再び拾って(copyfrom)、コンテナまで運ぶ(outbox) これを1セットとして、ひたすらに繰り返す(jump)

  

<前:3年目> <目次> <次:6年目>