anarchy golf

ひさしぶり

しばらくゴルフしてなかったので再開した。やっぱり楽しい。 ひさしぶりに今までやったコードを眺めてたら、縮められそうなのを見つけたので早速縮めた。 transpose lines あちこち細々と修正をかけて5B短縮することができた。現在96B。 大きい値が欲しいな…

ぎゃーす

気が付いたら一ヶ月まるまる放置してたのに気が付いたorz ログファイルの出力が上手くいってなかったようですね! 猛省・・・ transpose lines forを1回にまとめたのと、getcharをreadに変えて5B短縮。101B。 後は余分な括弧とか数値を入れてるのを削ってい…

ペースダウン

ゴルフやるペースがすっかり落ちてしまった。 モチベーション上げて行こう。 transpose lines 入力された文字列を縦読みして出力しろっていう問題。 最初の方針として文字列を全て読み込んでから、1行の長さを判断して1文字づつ縦読みしていく方針で挑んでみ…

落ち着いたからゴルフ

やっとこ落ち着いてきた感じなのでゴルフ。 TopCoderにあまり出られなくなりそうな感じなのでゴルフを頑張ろうと思う。 ので軽く前にやったのを見直して縮めてみた。 delete last line 1行1行読んで最後の行だけ出力しない方向から、まとめて読み込んで規定…

すっかり明けてました

年明けからなんかばたばたしててすっかり放置してしまった・・・ 最近ゴルフも手付かずだし、何も作ってないしで非常にまずい。 やりかけのまま放置してるEFFのDESクラッカーのソースもきちんと読んでおきたいし、並列プログラミングもきちんと勉強したい。 …

コンパイラとゴルフ

anarchy golfのサーバーが新しくなったので、コンパイラのバージョンも当然変わってた。 GCC4.1.2からGCC4.3.4になってたのだけど、この影響で動かなくなったコードも出たみたい。 googleの55Bのコードを通してなかったので、通しておこうと思ったら動かなく…

演算子の優先順位とか

ビット演算と比較を一緒にすると、比較が先に行われてしまうので括弧で括るのに2B増えてしまう。 なんとか括弧を取りたいんだけどなあ。 優先順位とか結合規則とかもっとよく知る必要があると思った。 あ、全部ビット演算でやればいいのか! show the way 変…

順調順調

短いコードを書くためのセオリーみたいのを押さえると順調に縮む。 後は良いアルゴリズムを思いつけるかどうか。 もっと頭よくなーれ。 show the way 前回提出したものからせこせこ削って127Bまで短縮できた。 重複している部分を取り除いただけでも短くなっ…

Cで息抜き

C++をC++らしく書けるようになるっていう課題もあるけど息抜きにCでゴルフ。 アルゴリズムを考えるだけなら言語は関係無いよね! exit status プログラム終了時のステータスを表示しろっていう問題。だと思う。 お得意の先頭の文字だけ見て判別する方法で決…

アルゴリズム

短いコードを書くためには良いアルゴリズムが必要なんだと思った。 もっとたくさんコードを書いたり読んだりしよう。 delete last line ふと閃いたコードを試してみたらあっさり縮んだ。14B縮んで51B。 入力が短ければもっと短くできそうなんだけど、長い入…

考えが浅いような

前々からのことだけど、時間をかけて考えれば割とまともな答えも出せるけど、短時間ではなかなか上手くいかない。 どうすればいい答えに短時間で辿り付けるようになるんだろうか。 invert case 昨日の今日で大幅に縮めることに成功した。13B縮んで42B。 大文…

さぼり気味な最近

ちょっとゴルフさぼっていた。 あまりよろしくない傾向なので頑張らないと。 99 shinichiros of hamaji アドレス入れるだけならわざわざchar型に入れなくてもいいじゃない、ということで型宣言を外した。 後はこのやり方でやるならon the wallの部分は埋め込…

絶好調である

前回の発見(?)のおかげで前に書いたコードがどんどん縮む。 手元の環境ではputsの引数を省略できないけど、anarchy golfのサーバー側では省略できるのが分かったのも大きい。 これでより最短に近づけるようになった。ばんざーい。 echo 多分C言語だけでや…

最短コード到達

swap linesで最短コードに到達できた。 割と簡単に到達できたコードだけど、やっぱり達成感があるなあ。 多分始めた当初では到達できなかっただろうから、ちょっとは成長しているんだと思いたい。 swap lines 2行読み込んでから入れ替えて表示しろっていう問…

環境依存

手元で動かないけどサーバー側では動くコードも当然あるんだよね・・・ googleの55Bコードはまさにそれだった。 エラーで落ちてたからてっきり駄目なのかと思ってたのに。 仮想環境でサーバーと同じ環境作ろうかなあ。 delete last line 入力された文章の最…

やっと縮んだ

FizzBuzzがやっと縮んだ。 printfの動作をすっかり忘れてたのが痛かった・・・ even lines 与えられた文章の偶数番の行の文字列を出力しろっていう問題。 echoのコードをちょっと改良するだけで完成。40B。 main(i, c) { for(; gets(c); i++ % 2 ? : puts(c)…

最短ちょっと手前

Fibonacci Numbersとgoogle、最短コードまでそれぞれ後1Bと2B。 ここまでを振り返ると、最短コードまで後一歩のものはそこそこあれど、最短コードまで辿り着いたものがない。 最後の一押しがあまりにも遠すぎるorz Fibonacci Numbers ループでやるには多分こ…

閃き待ち

ぼーっとコードを眺めて閃き待ちしている今日この頃。 最短コードを書ける人の頭の中ってどうなってるんだろうと思うことしばし。 知識の有無も当然だろうけど、思考が根本的に違う気がするんだよなあ。 と焦っても仕方ないので当面は愚直なコードで攻めよう…

結局ゴルフ

あれこれ手を付けておきながら結局ゴルフしてる最近。 ほんの少しだけ成果が上がってるからモチベーションも上がるんだろうか。 他のこともやらないとなあ・・・ FizzBuzz いつぞや流行ったFizzBuzz。 当時も書いた覚えがあるけどゴルフするのは今回が初めて…

42

ゴルフなのにゴルフしない。 そんな日があってもいい。 ultimate problem 圧倒的42・・・!異端のプログラム・・・!と いうか・・・ハッキリいえばジョーク・・・! とりあえず42とだけ出力すればいい問題。 最短はputsで出力したものだろうけど、それなら…

もっと!もっと短く!

SRM448に間に合わなかったのでanarchy golf。 それなりに短くなってきてるから頑張り甲斐があるというもの。 tennis 2位集団が遂に射程圏内に入った。4B縮んで157B。後2Bだ! 三項演算子の真の場合の値(第二オペランドって書いた方がいいのかな?)を省略す…

今日も今日とてゴルフ

気が付いたらGoogle Code Jamの予選が終わってた。 問題解けなさそうだけど物は試しで参加してみたかったなあ・・・ 参加できなかった分anarchy golfを頑張ることに。 delete blank lines Segmentation faultで通らないかと思ったらあっさり通ってしまった。…

anarchy golfで数学

数学する前にSmilyes Triangeの記録を見たら最短コードが61Bになってた・・・だと・・・? 63Bが最短だと思ってたらまだ縮むのか。 世の中凄い人がたくさん居るものだなあ。 e ネイピア数を小数点以下100桁まで表示せよっていう問題。 普通に計算すると長く…

配列のサイズ

配列のサイズは省略しても結構動くみたい。 省略すると確保されるメモリの量がわからないから使ってなかったけど、今のところ動いてしまっているから使うことにした。 ここが省略できるとゴルフ的には結構おいしいと思う。 なんで動くのかわからないのは気持…

戻り値も大事

先日id:ichirin2501さんから、readは読み込んだバイト数を返す事を教えていただいた。 いちいち関数呼んで文字数を消費するより、戻り値を利用できるのならそうする方が文字数節約できるんだなと学習。 ちなみにreadはシステムコールだった。 関数じゃなかっ…

メモリ破壊のコード

メモリ破壊して縮められそうなコードがあるんだけど、上手く通すことができない。 チェックをすり抜けて通す方法ってあるのかな。 上手いメモリの壊し方というか、メモリ破壊を正しく理解していないのかもしれないけどorz C言語でコード短縮を狙うなら、その…

1Bが遠いよ

削れるペースが明らかに遅くなってきた最近です。 初期の方針を堅持しすぎなのかもしれない。 だけどもっといい手法も思いつかないというジレンマ。 いきなり頭がよくなったりなんてしないもんね、地道に頑張ろう。 Smileys Triangle putsもstrcatもchar型で…

Perlもちょこっと

気分転換にPerlにも手を出してみた。 場合にもよるだろうけど、やっぱりゴルフするには向いてるなあ。 Rubyも出力がpだけでできたりして反則的だと思うけど。 echo なんとか最短の7Bできた。 どう考えても8B以下って無理じゃないかと思ってたら、ブロックの…

そろそろ限界

今まで解いてきた問題は自分の技術だと、そろそろ縮められる限界点に到達したっぽい。 無駄を省こうにもどうやって省いていいものやら。 アルゴリズムが違うんだろうけど、今より短くできそうなのが思いつかないorz もっと考えるんだ!俺! 99 shinichiroes …

牛歩戦術

牛の歩みより遅いかもしれないコードの削り量。 だけど着実に減らして行けてるのがなんとなく嬉しい今日この頃です。 Smileys Triangle そろそろスマイリーさんを眺めるのはお腹いっぱいになりつつあるけど頑張ってます。 やっと二重ループの解消とputs一発…