2011年6月6日月曜日

anarchy golf - Greeting Animals 解答編

anarchy golf - Greeting Animals

さっき終わりましたね。
トップのinaniwaさんのmain(A,C)に吹きましたw

ただ、こうするとCの更新で文字列が壊される気がするんですけど何で通るんだろう?

僕のコードはこちら。
char*s[]={
"\x04naraion",
"\x0c",
"\x09usu",
0,
"\0tanoshii",
"\0yukaina",
"\x06nagi",
0,
0,
"\x0akanku",
"\x0an",
"\x08ni",
"\x07nbou",
0,
"\x08sagi",
"\x0Cusu"
},*b,*p;
main(c,b){
for(;p=gets(&c);strcpy(p+*b,b+1),puts(*b?p:strcat(p," nakamaga popopopo-n")))b=s[c%236%17];
}

top陣との一番の違いは書き換えデータを配列で持っていたかmemchrを使ったかというポイント。
ダブルクォーテーションとコンマの数が効いてます。
20文字弱くらい縮むかな?。
あとで実験してみよう。

2 件のコメント:

  1. こんばんわ。このコードおもしろいですね。
    5月のブログにMSXFANの話ありましたけど、
    私も当時読んでて、
    1画面プログラムに採用されたこともありますよ!
    あれとかAVフォーラムとか
    今思えばゴルフっぽいですね。

    返信削除
  2. コメントありがとうございます。

    投稿されてましたか!
    AVフォーラム楽しかったですね、なつかしいです。

    返信削除