2008-01-01から1年間の記事一覧

るびまゴルフ

http://jp.rubyist.net/magazine/?0024-RubiMaGolf 普通にといた 4B 6B

http://shinh.skr.jp/m/?date=20080823#p01 >RubyコードをRubyで等価に実行可能な記号だけに変換する プログラムは書けるだろうか。eval"実行したいコード" を記号だけで表現すればいんじゃね? と適当に変換プログラム書いてみた。 def _(_) r="''<<"+_.spl…

v2.018

D

配列演算びみょー というか役にたたなすぎ。 a[] = a[] + b[]も出来ないなんて悲しすぎる。 おいおい配列同士で演算できないなんてゴミやん? あと a[] = a[] * 2 + 3もできないのが悲しい。 何が悲しくて a[] = (a[] * 2)[] + 3 とか書かなあかんねん。 と…

国内予選

ACM

チーム名はてきとーに去年から即値だけ変えてmain=-277;で てきとーに参加しててきとーに4問通った。 とりあえずA,B,C,Dといたー。 今年の国内予選はどれも頑張れば解けそうに思えた(E,Fはまだ深く考えてないけど)。 A とりあえず2重ループで普通にゴリゴリ…

Compound interest

nihaさんのコードを全力でパクリながら縮めてたけど逆転されたー。 むー、%1$s使うのか。 気がつかなかったー。素晴らしい。

template thisはどうやるんだろう

D

D言語で急にコンストラクタをテンプレート関数にしたくなったんだけど、 どうすりゃいいんだろう? class Test{this(T)(T value){...}} 上のような書き方だとコンパイル通らないし。 とりあえずstd.boxer.Boxのclassを使ったような感じの実装しようとして悩…

D

わーいD2.013 D言語君の__FILE__と__LINE__は大分話が分かるやつになったらしい。 void check(T)(lazy T v,string file=__FILE__,int line = __LINE__){ if(!v)printf("Error: AssertError Failure %.*s(%d)\n",file,line); } void main(){ check(0); check(…

std.typecons.Tupleが使えない。

D

D言語(v2.012)のstd.typecons.Tupleがだめ過ぎる。 ええと、std.typecons.Tupleってのは簡単に言うとboost::tupleみたいなもんです。 ところが、こいつには問題があって、むちゃくちゃ大雑把に実装を説明すると struct Tuple(type){//説明のために1要素限定…

this(this)と~thisは死ねば良いと思うよ

D

D言語の新バージョンで遊んでみた。 struct S{} struct T{~this(){}} struct U{this(this){}} struct V{V opAssign(V x){return*this;} ~this(){}} void main(){ S a;a=a=a;//OK T b;b=b=b;//NG U c;c=c=c;//NG V d;d=d=d;//OK } ~this()かthis(this)が定義…

よくわからんけど通らない(win dmd v2.011)

D

とりあえず最小限のえらー発生コード void main(){ int[string]x=["AA":0]; cast(void)x["AA"]; } 連想配列リテラルなんて普段使わんから、 自分が悪いのかコンパイラ(+ライブラリ)が悪いのかよくわからん。 とりあえずは急場を凌ぐために void main(){ int[…

std.algorithm.mapが使えねー

D

久しぶりにD言語の愚痴を。 とりあえずstd.algorithm.mapがイマイチ。 なにが使えないかってmapの返す型です。 Ranges[0] map(string fun,Ranges...)(Ranges rs); 具体的にはこれ書こうとしてエラー出るのが嫌 map!(toInt)(words);//文字列の配列を数値の配…

PKU3406

PKU

今日もodzさんのところから問題ゲット(id:odz:20080113)。 ただ、他の人と比べてメモリの使用量がすんごい事になってる。 ううむ、なんか、実装に大分差がありそうだなー。 問題がだるい大きさなのでコードサイズの削減がかなーり適当です。 たぶん、普通に…

PKU2291

PKU

id:odz:20080110を見て全力で挑戦。 ソースコードの変化の流れをついでに書いたので超長くなった。