第4回HOJコンテスト感想 第6回HOJコンテスト A問題 想定解など


運営について
制限バイト数やマップが間違っていて、無理問(かどうかは断定できませんが)らしきものを
数問出題してしまいました。何とかコンテスト自体にはそれほど影響が出ないで済んだと思っていますが、
迷惑をかけて申し訳ありません。

20問近くEditして最後の方集中力が切れたのかなぁ。。
最後の方は時間的にも焦ってました。もうちょっと余裕をもって準備するべきでした・・。
何とか大きな影響が出なかったようで(と思っている)、無事コンテストが終えられて大安心…。
想定解
B問題の方は解説とかかいたけど、こちらはとりあえず想定解を並べていきます。
1326[Contest 6A-1 6th Contest!!!]
6B-1の難化バージョン。12歩でブレーキをかけるのは難しいので、
大きな長さをつかってしとめる。すると書き順も逆になりますね。
中央に戻るのは成長しきったUZUを使えばよろしい。
それほど難しい解ではないと思うが何故かコンテスト中は17Bでそろっていました。不思議w
いまさらA問題に普通の13B再帰が出るというのが盲点だったのかしら??
  • [13B]
    a(X,Y):XrYa(sX,rXY)
    a(,)

  • 1327[Contest 6A-2 Tiling 2]
    こういうタイル見かけたのでw
    自分も描いてから考えたのですが、外周を回りながら棒を立てるという経路を思いついた。
    ちょっと縮めて
  • [21B]
    a(X):XXXXXX
    b:ra(ss)
    a(ba(a(br)ss))

  • あれ?20B出されてる。10分くらいでは思いつかなかった。
    1328[Contest 6A-3 Totsu]
    6B-7の逆サイド。どっちが簡単だろう。色々考えたけど正方形4つに落ち着いた。
  • [21B]
    a(X,T):XXXXa(sX,T-1)
    a(a(r,7)la(l,13),1)

  • あれあれ19B出されてますがな〜。
  • [22B]
    a(X,Y,Z):Za(sX,XlXlX,YYZYY)
    ra(,,rr)

  • 経路変えてみたけど伸びた。これも負け。

    →と思ったけど縮むじゃないかwボケてる。

  • [19B]
    a(X,Y,Z):rZra(sX,XlXlX,YYZ)
    a(,,)

  • 1329[Contest 6A-4 Squares ?]
    正方形っぽい見た目に惑わされないようにw経路は簡単。
    26Bくらいで困った人は居るかもしれないけどしっかり短縮すれば25B♪
    今回のセットで、唯一制限バイト未満を見つけていない問題だけど
    圧縮方法も単純だし何とかなるよね??

  • [25B]
    a(X):XXX
    b:a(s)
    a(a(a(sbrbbl)a(lbbrsb)r))

  • ssssssをa(ss)としちゃわないのがポイント?他の圧縮もありそう。
    1330[Contest 6A-5 Plus 15]
    Plus問題って結構たくさんあるんだね。
    用意していた解はちょっとマニアックで、乱歩的にパーツを増やすというもの。
    どの方向にパーツを置いて暴れても安全なときにたまに使える手法。
    この手法は色々やりようがあって、なぜか上手くいかないこともあって、
    Bestまで縮めるのが意外と難しいことが多いです。
  • [18B]
    a(X):Xa(XXXrXlXrXXX)
    a(ss)

  • 1331[Contest 6A-6 Growing Square 2]
    2回に45度回るような感じなので方向転換調整が難しくて意外と縮まないんですよねー。
  • [27B]
    a(X,Y,Z,W):XXXXZYa(YlY,X,W,Z)
    sra(srs,sr,,l)

  • 1332[Contest 6A-7 Tree]
    標準的なフラクタル。ですが、sssを単位じゃなくてsssrsssを単位にしないとBestにはならないかなー。
  • [28B]
    a(X,Y,Z):Za(XXs,XrX,YlZlYZllYrZrYll)
    a(,,)

  • 1334[Contest 6B-8 UZU collection]
    同じ長さは合計2箇所につける。同じUZUには3回に1回長さをくっつける。
  • [22B]a(P,Q,X,Y,Z):Xa(sQ,P,PrYPl,Z,X)
    a(,,r,r,r)

  • ね?簡単でしょ?
    1339[Contest 6B-9 Square Connection]
    タイトルが詐欺じゃない方のSquare Connectionと覚えてください(笑)
    パーツが分かれば、移動して繰り返すだけ。数値引数の再利用をするといいです。
    まずパーツはa(X,T):Xla(sXs,T-1)llXrとしてa(r,7)で呼び出せます。
    数値引数再利用の左側で繰り返すことを考えると、繰り返しの間に育つssssは
    ssssssXsssssssslという感じで、実行は「sssssslssssss」の方向になります。
    これが適切な次の位置への移動になるように調整。
  • [22B]
    a(X,T):Xla(sXs,T-1)llXr
    a(rra(r,7),100)

  • 1340[Contest 6B-10 Final Stage]
    パーツがぶつかりまくってて経路が見難いですね。
    経路が見えればバイト数は足りるだろうと思っていました。
    外周を回収しないといけないので、中央に戻ることはあまり考えない方が良さそう???
  • [33B]
    b:ss
    a(X):XXX
    a(a(a(a(a(brslb)lla(blsrb)ll))a(ra(bb))))

  • あまり吟味していない想定解なので、まだ縮んでも全然不思議ではないですね。

    inserted by FC2 system