ToDo:
b,l,s[99];main(m,n,i,w,x,y,z){ for(;;){ for(;n=getchar(n)-10;l+=8)s[n]++; if(l==24&&s['E']==s['N']==s['D']==1)break; z=85; x=55; for(;;){ s[m=n=99]=9999; w = 0; for(y=i=x;i<=z;i++){ if(s[i]) { if(!w)w=i; y = i; if(s[i]<s[m]){ if(s[i]<s[n]){m=n;n=i;} else m=i; } } } x=w; z=y; if(m==99)break; b+=(s[m]+=s[n]); s[n]=0; } printf("%d %d %.1f\n",l,b,1.*l/b); b=l=0; } }
適当にCで書いてその場しのぎの高速化しても通らなかった。 なんかCで通ってる人いるんだけどなぁ。 まぁC++の方が短くなりそうな気すらする。
(02:53)
#include<cstdio> #include<set> int m,n,b,l,i,k[99];main(){ std::multiset<int>s; for(;;){ for(;n=getchar()-10;l+=8)k[n]++; if(l==24&&k['E']==k['N']==k['D']==1)break; for(i=55;i<=85;i++){if(k[i])s.insert(k[i]);} for(;s.size()>1;){ std::multiset<int>::iterator i=s.begin(); m = *i; s.erase(i++); n = *i; s.erase(i); b+=(m+=n); s.insert(m); } printf("%d %d %.1f\n",l,b,1.*l/b); b=l=0; } }
おやこれでもTLE。ダメじゃん!
(03:09)
*m,*n,*i,s[99];main(b,l){ for(;m=n=memset(s,0,396);printf("%d %d %.1f\n",l,b,1.*l/b)){ for(l=0;b=getchar()-10;l+=8){ s[b]++; if(b-l==60)return; } for(b=0;m-s-1;){ b+=*m+=*n; *n=0; m=n=s+1; *m=99; for(i=s+86;*i-99;) *--i&&*i<*m?*i<*n?m=n,n=i:(m=i):0; } b=b?b:l/8; } }
250Byte。さっさとアルゴリズムいじれと
(04:53)
と言われて少し違う気がしたんだけど。
なんというかじゃすとふぉーふぁんのうはうというか。 グッドでもバッドでもなくて、 ホビーノウハウというか。
コード短縮もホビーノウハウ。
(23:19)
がどうとか言ってる子はキモい子です! って話があったんだけど、 みんなどういう理由でそんな子になってしまったんだろうか… あと妙に同世代が多い気がするんだよな。 少し上の人は I hate C++! がデファクトに なりきっているというか。
世界で2番目に誤解された言語 C++ 。とかどうだろう。
いや、別に誤解はされてないな…
まぁそんなこんなで最近見てる人の経歴を適当に見てみる。
http://d.hatena.ne.jp/Cryolite/
同世代の模様。
奥さんがいらっしゃるってことは少し上かしら。 しかし最近はそういう判断は外れる歳になっている。
http://d.hatena.ne.jp/syd_syd/
大学院生さんらしい。 いかにも言語好きーな人なのでわかりやすいかな。
http://d.hatena.ne.jp/y-hamigaki/
今気付いたけど cppll でよく見る人だったよ!
http://d.hatena.ne.jp/mb2sync/
あーそういや Boost.Typeof 見てみないとなーと思ったんだった。 http://d.hatena.ne.jp/mb2sync/20050422#p1 はあとで見る系。
結局世代とかよくわからんかったけど なんでもいいや。
(03:07)
http://www.accu-usa.org/2000-05-Main.html
あれーユーザ定義型はーと思ったら REGISTER_TYPEOF とかあるな…
しんどいけどマジメに追ってみよう…
#include <iostream> #include <list> #include <boost/typeof/typeof.hpp> using namespace std; using namespace boost; struct C { C() { cout << "hello world!" << endl; } }; int ifunc() { return 0; } list<int>::iterator itefunc() { static list<int> l; return l.begin(); } C cfunc() { return C(); } int main() { BOOST_AUTO(i, ifunc()); BOOST_AUTO(ite, itefunc()); BOOST_AUTO(c, cfunc()); }
ああうん。すごいな。
(03:36)
int main() { BOOST_TYPEOF(cfunc()) c = cfunc(); c = *(new BOOST_TYPEOF(cfunc())); }
_ が、 cl.exe だと、
int main() { boost::type_of::msvc_typeid_wrapper<sizeof(*boost::type_of::encode_start(cfunc()))>::type c = cfunc(); c = *(new boost::type_of::msvc_typeid_wrapper<sizeof(*boost::type_of::encode_start(cfunc()))>::type); }
_ こうなる。 GCC だと __typeof__ になる。
_ インスタンス化するたびにカウントアップする template とか作れば、 まぁこれで作れるかなぁ。
_ で、インスタンス化するたびにカウントアップねえ…
#include <iostream> #include <list> #include <boost/typeof/typeof.hpp> using namespace std; using namespace boost; struct C { C() { cout << "hello world!" << endl; } }; struct D {}; C cfunc() { return C(); } C cfunc2() { return C(); } D dfunc() { return D(); } int main() { BOOST_TYPEOF(cfunc()) c = cfunc(); c = *(new BOOST_TYPEOF(cfunc())); cout << sizeof(*boost::type_of::encode_start(cfunc())) << endl; cout << sizeof(*boost::type_of::encode_start(cfunc2())) << endl; cout << sizeof(*boost::type_of::encode_start(dfunc())) << endl; }
_ が、 5 5 6 と出力する。明らかにカウンタがある。
_ http://boost-sandbox.cvs.sourceforge.net/*checkout*/boost-sandbox/boost-sandbox/boost/typeof/msvc/typeof_impl.hpp?revision=1.5
_ どう見てもカウンタみたいです。 実装がよくわからんがな。
_ あとまぁ msvc/ 以外の実装は不明チックな。 compliant implementation もよくわからんけど、 要するに BOOST_PP マンセーってことですか。
_ んー。なんか昔見たことある気が超するんだよなぁ。
_ (04:26)
最初聞いた時は冗談レベルに思ったけど、 もっと評価されていいよなぁという気がした。
このへんとかも面白げである。
http://www.tohoho-web.com/html/server.htm
(05:32)
template <class T> struct S { private: static T m(); public: enum { t = sizeof(m()) }; };
についてヒマな時追ってみる。
(01:41)
だなんて言ってるヤツが失望してほげほげなのさ、 とシニカルに言うのが流行りらしいから、 関数型言語が銀の弾丸だと言ってるヤツはほげほげなのさ、 と言うことにしようか。
(15:10)
結局、リクエストは UTF-8 で来てるので、 それを EUC になおさず処理しちまうのが一番良い。
そんで
http://kawa.at.webry.info/200511/article_9.html
紅茶は text/plain だからうまくいってるのかなぁ。 よくわからん。
(22:39)
前 | 2025年 7月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。