タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

graycodeに関するn4_tのブックマーク (4)

  • すごすぎるグレイコード - カメヲラボ

    変態すぐる Gray codeが終了しました。私は結局8位でfinish。ナンバー1は*yuko*さんという方。唯一知らない(;´д`)ざざっとコードを見た感じ、*yuko*さんとkurimuraさんのを合わせたら90B切れますね。Top10の7名は、謎の3乗*1をやって大幅短縮しているみたいです。私も10進数でまとめて出力できないかなーと一瞬思って難しそうなので諦めたのですが、そうか8進数ならOKですよねー…。というわけで、今回のグレイコード祭りを通して得たアイデアをドドーンとまとめておきたいと思います。 素直なグレイコード i番目のグレイコードは i ^ (i>>1)で簡単に変換できることが知られています。私は色々と悩んだ結果、素直にこの方法で目一杯縮めることにしました。たぶん30回くらい書きました(笑)で、確実に通るので104B i,k,v; main(n) { for(gets(&

    すごすぎるグレイコード - カメヲラボ
    n4_t
    n4_t 2009/06/11
    n=~n%9とかn%=9uとか
  • Gray code履歴 - 週1でも日記

    どうも、51b です。anarchy golf - Gray codeが回答公開になったので、履歴を公開します。 hinoe さんがトップだったので、main 再帰だろうと推測して main 再帰にしてみた。あと、2 進数を表示するのにループを書くのが面倒だったので、8 進数を使うことにした。 111 byte から始めて 109 byte まで。 m,l;main(n){~scanf("%d",&n)&&printf("Gray code n=%d",l=n);n--?main(n),m^=1<<3*n,main(n):printf("\n%0*o",l,m);} m,l,s;main(n){gets(&s)&&printf("Gray code n=%d",l=n=s%8);n--?main(n),m^=1<<3*n,main(n):printf("\n%0*o",l,m);} m,l

    Gray code履歴 - 週1でも日記
  • ICFP プログラミングコンテスト - d.y.d.

    19:01 09/06/30 ICFPCまとめ やったことをまとめておきます。 まあ問題の意図を盛大に勘違いして別のゲームを遊んでいた (与えられたシナリオファイルを最適に解くだけじゃなくて、 もっとジェネラルな自動ソルバを作らなければいけなかったらしいorz) のでスコアは問題外な感じですが、 面白かったのでよしとしよう。 今回は、地球の周りを飛んでる人工衛星に命令を送って他の人工衛星やデブリと接触できたらスコア++、 という、(仮想の)人工衛星制御プログラムを作るコンテストでした。 → shinhさん にならって自前ビジュアライザを 動画にするとこんな感じ。 2003年 や 2008年 の問題に結構近いものがありますが、 今回はとにかく、燃料の許す限り速度変化 ΔV を自由に与えられるという仕様が (自動でやるにしろ手動でやるにしろ) 素晴らしかった。 例えば「隣を飛んでる別の衛星と同

  • anarchy golf - Gray Code の最良解の考察 -

    anarchy golf - Gray code yuko さんが優勝でした。おめでとうございます。現時点での最良解は以下のような物。 y,u;main(k,o){for(o=~o%9;y<1<<o;y=k&-k)printf(--k?"\n%0*o":"Gray code n=%d",o,u^=y*y*y);} 因みに私の解答は、 i;main(l,j){for(printf("Gray code n=%d\n",j=l=j%5+7);!(i>>l);putchar(!j?j=l,i++,10:48|1&(i^i>>1)>>--j));} となっている。最良解が綺麗過ぎて泣いた。あと今更なんだけど、i>>1ってi/2で良いよね。!(i>>l)も1byte縮まるのではないか。 現時点での最良解を読んでみる。 o=~o%9 は定石のようなもの。入力を読まずに数打てば当たる戦法。ちゃんとやるの

  • 1