平々毎々(アーカイブ)

はてなダイアリーのアーカイブです。

golf

id:siokoshouさんやid:nattowさんに張り合っていますがなかなか敵いません。

tennis ( http://golf.shinh.org/p.rb?tennis ) も晒す。1位じゃないからね。

using C=System.Console;class P{static void Main(){int p=0,q=0;bool f=true;for(;f;){f=(C.ReadLine()=="1"?++p:++q)<7;C.WriteLine(p==q?"Set is tied at "+p:"Player"+(p>q?1:2)+(f?" leads ":" wins the set ")+(p>q?p:q)+" - "+(p>q?q:p));}}}

(追記)削ったら232Bが224Bになって1位になった。

(追記2)siokoshouさんが223Bを出したのに発奮して222B達成。3項演算子の?:が4個になりました。

(追記3)ギブアップ!もう抜けないだろう。というのも、for文の使い方やカンマ演算子の使い方以外はもう同じコードのようだから……と思ったんですが、まだ2B縮まる。

224Bは以下。fが消えました。

using C=System.Console;class P{static void Main(){int p=0,q=0,r=0;for(;r<7;){r=C.ReadLine()=="1"?++p:++q;C.WriteLine(p==q?"Set is tied at "+p:"Player"+(p>q?1:2)+(r<7?" leads ":" wins the set ")+(p>q?p:q)+" - "+(p>q?q:p));}}}

222Bは以下。

using C=System.Console;class P{static void Main(){int p=0,q=0,r=0;for(;r<7;){r=C.ReadLine()=="1"?++p:++q;r=p>q?p:q;C.WriteLine(p==q?"Set is tied at "+p:"Player"+(q/r+1)+(r<7?" leads ":" wins the set ")+r+" - "+(p+q-r));}}}

ということで、合作コード。

using C=System.Console;class P{static void Main(){for(int x=0,y=0,b=0;b<7;b=x>y?x:y,C.WriteLine(x==y?"Set is tied at "+x:"Player"+(y/b+1)+(b>6?" wins the set ":" leads ")+b+" - "+(x+y-b)))b=C.ReadLine()=="2"?y++:x++;}}

218B。