ついこの間終わった(?)謎コンテストの感想を書く場所です.筆者(Ktya)しか更新しないかもしれないけど他の方も気楽にどうぞ.
[26B]a(X,Y):XXXYYYYr a(,a(a(,a(s,)l),s)ra(a(,a(srsl,)),))
しばらく経って壁使った無限ループの方が綺麗に書けるのではと言う事に気付く。元コードはこれ
a:slsr b:aaaaaaaraaaaraaaaaaaaaaaaaaaraaaaraaaaaaarb b
これを縮めて先ず得られたのがこちら
[25B]a(X):slsrXX f:a(a())a() b:la(a(a())frfrff)b b
その後はかなり色々と試したけど中々縮まず,結局満足度は低いけどXslsrXを用いて雑記にある奴になりました。 4 7 15を上手く作る方法って無いんですかねぇ (Ktya)
a(A):AAAAss a(a(a(rs)a(s)a()l)l)大して違わないけど一応。(wwvww)
[19B]a(X):XXXXssl a(a(a(rs)rssa(s)))その後他の人の雑記で1B縮むと知って,正方形も小回りよく書こうと考えた結果XXXXsで行ける事が分かり雑記にあるやつになりました。普通に良問ですね。(Ktya)
[40B]a(X,Y,Z):YYYYa(ssX,srsXrrXZZlYllZZrXrrXsrs,rs) a(s,l,)まあ方向転換などなど縮む要素はおいておいて、このままじゃ30B台どまりだなあと言う感じ。次にちょっと不真面目になったコードがこちら(解けているか確認してません)
[36B]a:srsl c(X):XX b(X,Y):c(c(Yssr))b(ssX,aaYc(XlX)aarr) b(sl,)これでもやはりキツそう。この辺りで壁を使って直線だけでなんとかしようと言う発想が振ってくる。というわけで書いたのがこれ
[30B]a(X,Y):a(ssX,Y-1)XrssrXrr d:a(sss,11)srsrrd dsrを置換すればこれで28Bに. もうちょっと縮みそうだという直感が働いたので粘る。d内のsrsrrを上手い事元の関数に押込められる事が分かって雑記にある解になりました。もう少し縮んでもよさそうではある (Ktya)
[31B]a(A,B,C,D):Ba(ssA,AscAr,B,D-1)C b:a(c,,,7)ccrb c:sr b位置合わせの周囲の壁以外は使っていないコード。 そして思い切り壁にぶつかってみるコードで書いてみる。
[26B]a(A,B):Aa(A,B-1) a(a(a(a(s,13)rr,2)ssrssl,12)r,6)で、これを走らせながら経路を考えて、
[25B]a(A,B):a(ssA,B-1)ssAlAssl b:a(sl,12)rb bKtyaさんと同じ経路でありながら、技術不足で1B多いですね。ここまではすんなり来たのですが縮まないので放置…………………………………………………………………………………………ひと月ほど放置してこのコードを走らせていると、経路に乗る瞬間の中央の壁のぶつかり方が気になりました。 これはいくら増やしても真ん中で調整してくれるのでは? と思って書いてみたら21Bを発見しました。
[21B]a(A,B):Ba(ssA,ssAlAsslB) a(sl,r)solveしてないコードはほとんど記録してませんが、他にも壁の使い方やパターンの繋ぎ目はけっこう試して、それからたっぷり寝かせました。自分にとっては寝かせるのも大事です。 コンテストやっていない人は今なら1930にマップはあります(solveはできないけど(できたら神か優秀なハッカー))(wwvww)