ついこの間終わった(?)謎コンテストの感想を書く場所です.筆者(Ktya)しか更新しないかもしれないけど他の方も気楽にどうぞ. **1 [#ff9eb310] -これは0番で良いのでは。masさんとかが叱りそうな出題w(昔かなり簡単な問題を一番にして流石に文句を言われたという懐かしい記憶)実質的な参加者の数を見たかったのかな?(Ktya) **2 [#l3cae4d8] -素朴な出題 とりあえず(長さ3の斜めの四角形*3)*4として考えて、外淵から行けば規則的になぞれるという発想のもとそれっぽくなぞったコード [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) -経路はKtyaさんと同じ。 [25B]a(A):srsla(A-1)r b:a(7)a(4)la(15)a(4)la(7)b b これが [24B]a(A):srsla(A-1)r b(A):a(4)la(A)a(7)b(15-A) b(7) こうなって結局 [23B]b(A):AsrslA a(A):b(b(b())A) c:a(b()a(l)a())lc c こうなる。 (wwvww) **3 [#ga6485fd] -ありがちな出題。見た瞬間にXXXXss的な関数を使いたくなる。ということで最初に作ったのがコレ [19B]a(X):XXXXssl a(a(a(rs)rssa(s))) その後他の人の雑記で1B縮むと知って,正方形も小回りよく書こうと考えた結果XXXXsで行ける事が分かり雑記にあるやつになりました。普通に良問ですね。(Ktya) -おじゃまします。まったくいろいろ謎なコンテストですがやってみました。 で、Ktyaさんの解を見てみると7,9,10以外はほとんど同じでした。 bytes数が追いついて安心してしまったのかもしれないけど。 この問題もXがAだっただけで全く同じコードでしたが、あとからXXXXssの18bytesも見つけました。 a(A):AAAAss a(a(a(rs)a(s)a()l)l) 大して違わないけど一応。(wwvww) **4 [#l844386f] -ただのフィボナッチ。大昔にこれを思いついた時は凄く感動したなあ。(Ktya) **5 [#k0777ff8] - これも3に続いて良問。素朴な形にちょっと壁を付けるだけでも大分変わるんだなあ。最初は真面目に書いていたけど壁に可能性を感じて色々探る。壁を使えば四倍関数を使い回せると言うのがポイントですね。(Ktya) **6 [#s223353a] -こちらも中々良問。ただし出題者が圧縮に気付いているかは疑問(制限23Bとか書いてあるし)色々試行錯誤した筈だけどメモに残っていないので思い出し次第書きます(Ktya) **7 [#i9d63d78] -綺麗な配置 公式だと配置忘れがある様に見えるけども 最初に綺麗に取ろうと言う方針で書いたコードがこれ [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 d srを置換すればこれで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 b Ktyaさんと同じ経路でありながら、技術不足で1B多いですね。ここまではすんなり来たのですが縮まないので放置…………………………………………………………………………………………ひと月ほど放置してこのコードを走らせていると、経路に乗る瞬間の中央の壁のぶつかり方が気になりました。 これはいくら増やしても真ん中で調整してくれるのでは? と思って書いてみたら21Bを発見しました。 Ktyaさんと同じ経路でありながら、技術不足で1B多いですね。ここまではすんなり来たのですが縮まないので放置…………………………………………………………………………………………ひと月ほどしてこのコードを走らせていると、経路に乗る瞬間の中央の壁のぶつかり方が気になりました。 これはいくら増やしても真ん中で調整してくれるのでは? と思って書いてみたら21Bを発見しました。 [21B]a(A,B):Ba(ssA,ssAlAsslB) a(sl,r) solveしてないコードはほとんど記録してませんが、他にも壁の使い方やパターンの繋ぎ目はけっこう試して、それからたっぷり寝かせました。自分にとっては寝かせるのも大事です。 コンテストやっていない人は今なら[[1930>Problem 1930]]にマップはあります(solveはできないけど(できたら神か優秀なハッカー))(wwvww) **8 [#ec493775] **9 [#aafc840a] **10 [#lc208fd1] [[Ktya雑記]]