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

紳士会

昨日は関西方面のゴルファーとかそんな感じの方向の集まりに参加。 参加者はこの辺 id:nihaさん id:shinichiro_hさん id:Ozyさん いやー皆さんカシコーでスゴーな感じでした。 とりあえず自分ももう少しカシコーになりたいと思った。 集まって前半はショート…

うーむ

D

とりあえず、std.bindで遊びたくなって、関数のmemo化を実装してみたけどうまくいかない。 private import std.traits; private import std.bind; ReturnType!(F) memoize(alias F)(ParameterTypeTuple!(F) a){ auto t = tuple(a); static ReturnType!(F)[ty…

1731

PKU

http://acm.pku.edu.cn/JudgeOnline/problemstatus?problem_id=1731&orderby=clen&language=-1 98Bをとりあえず取れたー。 id:Ozy:20061209での予想通り、マクロは使ってません。

こんにちは世界

http://www.kmonos.net/wlog/68.html#_2331061204 pragma(msg,"Hello World!");コンパイルタイムプログラミング(?)万歳。

v.176

D

std.bindっていうboost::bindをインスパイアしたライブラリが出来たみたいです。 import std.bind; import std.stdio; import internal.qsort; void sort(T,Cmp)(T[]a,Cmp cmp){ auto ti = new class TypeInfo{ size_t tsize(){return T.sizeof;} int compar…

v0.175

D

なんかscope付けたらスタックに確保してくれるようです。 >type con > a.d class X{int a[1000000];} void main(){scope x = new X;} ^Z >dmd a.d >a.exe Error: Stack Overflowおー本当だー。 これで効率を気にして import std.c.stdlib; class X{ new(uint…

アジア予選三日目

ACM

エクスカージョン 適当にだらだら過ごす。 この辺で書くの飽きてきた。 完

アジア予選二日目

ACM

今日も適当に起こったことをだらだら記述。とりあえず、今日は朝7:30に出るらしい。 まぁ、普通に起きて朝食とって気楽にゴー とりあえず、会場までは行けないが途中までは送ってやる、 後はテメェで歩けという素晴らしいバスでした。 とりあえず、コンテス…

アジア予選初日

ACM

まず、予約した新幹線に乗って新横浜にゴー 予約席だから楽々に乗れますね。 ......orz乗り遅れた。 え、えーとそんなわけで自由席で寂しく出発です。 とりあえず、新横浜についてからメンバと合流。 そのまま会場へれっつゴー。 さてと、そんなわけで、とり…

追記

適当に変形したらもう少し縮まった。 でも、非記号文字が削れない...... 3B 24B

ゴルフ

id:niha:20061025 rubyの勉強もかねて、適当にチャレンジ。 スコアは非記号3Bで25Bでした。

国内は芸術の秋と呼ばれる季節に入っていたとパソコンのカレンダーを見て気づきました。 自分は芸術がまったく出来ないのでどうでもいいですけどね。

shinh度

この辺でチェーーック http://d.hatena.ne.jp/shinichiro_h/20061020 あなたの shinh 度は 98% です! shinh の疑いが深刻なレベルまで来ています。 速い段階で専門医に見てもらって方がいいでしょう。 大丈夫、 shinh は難病ですが、不治の病ではありません…

v0.168

D

outerとか微妙に便利な機能が搭載。 内部クラスで外部のthisに触りたいときがたまにあったので地味に嬉しい。あと、ローカル変数を配列リテラルで初期化できるようになりました。 void main(){ double[] x = [1.0,2.0,3.0]; }おーうまくいった じゃあ次はaut…

v0.167

D

D言語もついに配列リテラルがサポートされたー 記法は[exp1,exp2,exp3,...expN]みたいに書く。 配列の型は最初の要素の型の配列になる。 expは非定数式でも良いので結構便利です。 class A{} class B{} class C{} void main(char[][]args){ foreach(x;[new O…

1298

PKU

http://acm.pku.edu.cn/JudgeOnline/problem?id=1298 適当

PKU1503

PKU

id:Ozy:20060916から1503をチョイス。ぶっちゃけ2680のまんま。 http://acm.pku.edu.cn/JudgeOnline/problemstatus?problem_id=1503&orderby=clen&language=-1

PKU2680

PKU

http://acm.pku.edu.cn/JudgeOnline/problem?id=2680 まぁ問題文の詳しい説明は省略。 今回は多倍長演算問題なので打倒Javaを目標にコード短縮。目標達成したので公開 まだ無駄があるようなないような

追記

Ozyさんのコメントを参考に150の壁を突破して149B n,v,t[1002][76]={48}; main(char*c){ for(;n+1e3;v=n%2|1,strrev(t-n--)) for(c=t-n;*c|v;v/=10) c++[304]=(v+=*c*2%48)%10+48; while(~scanf("%d",&n))puts(t+n); }負数 % 正数 が負数になるのを利用して…

Fedora Core 5

ACM

http://www.acm-japan.org/icpc2006/jp/regional/index.html Fedora Core 5かー。 正直大学で国内予選の際に使ったFedora Core 5が不安定だったのにうんざりしてたので少しびびってます。 まぁ、大学のと違って安定していることを祈っておくか。

わいるどかーど

ACM

http://www.acm-japan.org/icpc2006/jp/domestic/result.html 今年の脚切りラインは3問ジャストか

C

自分は病気なのか分かりませんが、たまに下みたいな変態的なコードを書きたくなります。 c2n(x) {return x%39-9;}やはり、生産性のないコードを書くのは楽でいいなぁ。 生産性のないコードを書くときに自分の力は5割増し位になる気がする。 ちなみに上のコー…

v0.166

D言語の新バージョンです。 とりあえずメンバ関数テンプレート最高とだけ。 これで変態チックなコードの幅が広がりました。 あと、lazyという遅延評価専用の予約語が登場。 この結果 exp -> exp delegate()は消えました。 ただ、遅延評価をさらに構造体に入…

可変長テンプレート関数

D

D言語の関数テンプレートはこういう書き方ができません T[] array(T)(T []dgs...){ return dgs.dup; }まぁ嫌だけど仕方がないかと思っていましたけど、 こういう誤魔化し方が通用するみたいです。 T[] array(T)(T a,T []dgs...){ return a ~ dgs; }インチキ…

D言語の遅延評価は複数回評価すると副作用も複数回生じます。 そういう評価方法もありとは思いますがあまり好きじゃないです。 そういうわけで値をキャッシュしてみた。 T delegate()lazy(T)(T delegate() dg){ struct lazy_t{ union{T delegate()dg;Object …

さらに

D

某所でも紹介されていたscaseとcondもせっかくだから、値を返すように。 void f(T)(T[]...)は無理なので適当に~を使って回避。 struct Pair(F,S){ F first; S second; Pair[]opCom(){return this[0..1];} } Pair!(F,S) make_pair(F,S)(F f,S s){ Pair!(F,S)r…

dmd v0.165

D

ひゃっほー新バージョンは相変わらずヘンテコだなぁ。 とりあえず、boost::spiritっぽいコードが手軽に書けて素敵 id:shinichiro_h:20060822 最後に評価した値を返すifとかはテンプレート関数との併用でどうでしょ? T if_(Pred,T)(Pred delegate()p,T deleg…

PKU1064

PKU

id:letter:20060726をパクって参考にして適当に短縮 とりあえず実装依存全開の怪しいコードで通してみた。

PKU1001 累乗数えるんじゃね?

PKU

id:Ozy:20060712の文章を受けて公開公開

適当入門

現在『ふつうのHaskell』を片手に勉強中。 とりあえず言語を最初に学ぶときは電卓を作る。 というのが自分の言語の学び方なので作ってみた。 うーむ、Haskellらしい書き方ってのがイマイチ理解できていない...... まぁ、最初だから適当にでっち上げれば良い…