実は経路が偉い問題だった。真ん中から灰マスつっこむらしい。全部再帰でまとめて取るのではなく、二回に分ける。規則認識自体はあの図でできていたのに単純なことに気付いていなかった。長さ3の正方形書いて進んで右に曲がるというパーツを3回使って何周もすると何故か埋まる。何周もするのが盲点であった。最初配置方法が下手だったけど四個とって後ろ向いて何歩か歩く、というのを3回やると綺麗に埋まった。数字と配置方法見つけるのちょっと大変。これのsolverあったほうがいいかも。step数と灰マス上限を減らして検索。実は22Bの時の経路と一緒だった。(数字の7みたいなパーツを並べる)それっぽい再帰にして20になったけど、もっと行けそうな気はする。ちなみに20B解とは別に新しく考えてた経路はこんな感じでしたが、始点に制限があってうまく活用できませんでした。再帰に乗りそうな形にできないなあ。17を特殊な初項で縮めるやつだった。17の人がいなくてみんな16なのすごい。solver作ってる途中。これぐらいだと別の手法でもっと縮んだりしそう。再帰の18B発見した。theoryでa(X):Xa(XXXXa(sX,hoge)r,fuga)みたいな書き方をします。再帰のやつ、灰マスまったく踏まない解でめっちゃびっくりした。ここからうまく圧縮するのか。大きい方からやる渦関数使い回す。あの作り方でずれる分も使い回すことでうまく修正できる。0000があるのでちょっと怪しいか。25->22->21模範解答かってくらい綺麗に全部取る答え。最初数値でやってたけど再帰でも大丈夫。四隅のパーツ取るやつで真ん中の十字も取れちゃうという。結局外側とってから内側取るやつに戻した。対称性がないのでどこから始まってどこから抜けるかで調整が変わってくるのが難点。書く系で一変数+向きで33にしてたけど、ちょっと違う関数で32になった。そもそも縮みそうだなと思ってはいたのでいい機会ではあった。灰マス結構踏む18Bがあって、それに特殊な初項が使える。パーツ構成的にもっと実行時間をかけてワンチャンあるやつを試すと通る。位置が合う理由については全くわかりません。灰マス踏まなさそうだなと思って条件変えたらすぐ出た。出たのはいいけど、原理が全然わからない。最近見つけたあの手法が適用できる可能性もある。当時は模範解見て「こんなの無理だ」と思って完全に諦めていた記憶があるんですが、真っ白な状態で再チャレンジしたら縮んだ。solverができる仕事もなくなってきてかなりキツい。単独を投げ合う争いみたいになっている。確かにまあまあシンプルな書き方だった。三変数の方が自然な発想に見えちゃう。3倍関数で適当になぞったら解けた。3倍関数と雑な置換で26Bまでいけた。再帰に乗るのか全然違う答えなのか。10年前の日付なことに気づいた。0を実現する必要があるので変数が増えている。ここ二ヶ月だけでだいぶ更新してて、モチベの波の激しさが見える。数式系と長文系以外のあらゆる技術が詰まっていると言っても過言でないぐらいに全問題が完成されているシリーズ。20Bは12B構文に二変数目を生やすことで無理やり打ち切って実現していた。これは無駄だらけなので、近い発想を用いて、12B構文で成長するパーツを保存して適切に配置することでまさかの16Bにまで圧縮できた。theory?)らしいのでチェックしておきたいけどわからない。数値やパーツの調整が少し難しかった。講座を書いたことでこの辺の理論が脳内で整理されたのが良い方向に作用しているようだ。misakiさんのヒント通り、再帰でとる。再帰で都合よく書くためにいくつか工夫が必要だった。補助関数ともうまく適合してなんとか28Bになった。これが何もないところから出てくるのはすごすぎる。これで縮むやつ結構ありそうだな。数値の方の24B解にもう一個変数増やして、「両端から同じもので挟む」を実現する。ついても縮められて、結果的に23Bになる。いう圧縮が効くんだなあ。1244ではできなくてこの問題ではできる、というのがヒントだった。書き直したらわりとすぐにbestになった。試しているけど縮まない。試しているうちに多重再帰への慣れが出てきた。なんとかRank1位になったけど、向こうの白見ると余力の塊な感じなので実感が全くない。best率も全然ダメですね〜。普通にギザギザ3個パーツで乱歩検索。一瞬で出てきてびっくりした。みんななぜか検索しようとしてなかったやつ。12Bの乱歩をベースにしていて、灰マス踏まないです。成長をうまくずらすと十字パーツ6まで+8歩、十字パーツ2まで+4歩がかけて、パーツ間の移動も数値関数使いまわせる。bestはわからない。