学生限定DropBox増量
ac.jpなメールアドレスを持っていたら増えます.
Dropbox - Sign in - Simplify your life
ぼっちなのであんまり増えませんでした.
http://db.tt/I5M66fX
無料で公衆無線LANを使う方法(mobilepoint;iPhoneユーザー限定)
しょっちゅう忘れるのでメモ.手段的にアウトかもしれない.
ブラウザはChrome,OSはWindows7を想定.
とりあえずmobilepointに接続.WEPキーはググれ.(この時点でhttp以外の通信はできてしまうようなのでVPNつなげりゃ普通にネットできる.)
Chromeへのショートカットをデスクトップに作成.リンク先の最後に次の文字列を追加しOKを押す.(UserAgent偽装と,プロファイル新規作成.両方必須.)
--user-agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; ja-jp) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16" --user-data-dir="hogehuga"
ショートカットをひらいて,適当なページに行くと次の画面に飛ばされる.
ユーザーIDはiPhoneのi.softbank.jpの方のメールアドレス.@以下も必要.パスワードはSMS/MMSでSoftbankから最初に送られてくるメッセージに書かれてる奴.
ログインできたらショートカットからひらいたブラウザは閉じて,別のプロファイルのChromeでも別のブラウザでもネットが出来るはず.
人材募集企画 2011年版に応募した
人生を書き換える者すらいた。: 人材募集企画 2011年版
これに応募した,今日の24時以降にブログに答えとか書くの解禁なので一応書く.かなり適当なんで間違ってたらすみません.
第一問
f(unsigned int x)はx<=2^nとなる最小の2^nを返す.ただしunsigned intのサイズがが32bitなら,x>2^31のとき0が返る.
アロケータとかでメモリ再確保のサイズ決めるのに使ったりするのかな?適当に値入れて確かめてもだいたい推定できるし,32bitの範囲程度ならテストパターン全部書いて総当たりしても確かめれる.
3行目から7行目の処理で,3行目で一番左側で1になってるビットがどう広がるかに注目すれば理解できると思う.
第二問
以下rubyのソースコード.落下をcompact!で,探索の外枠を配列の-1番目の要素が最後の要素を指す事を使ってる.単純な再帰.
$H = 14 #最上段数 $W = 6 #外枠代わりのnilを追加 def add_nil(puyo) puyo.each{|a| a[$H] = nil} puyo[$W] = [] return puyo end #空のゲームを生成 def form puyo = [] $W.times{|i| puyo << []} return add_nil(puyo) end #ゲーム表示 def print_puyo(puyo) $H.times do |h| h = $H - h - 1 $W.times{|w| print puyo[w][h]? puyo[w][h] : '*'} puts '' end end #4つ以上の同色を消して自由落下させる #一組でも消えるぷよがあるならtrue,全然消えないときはfalseを返す def step(puyo) def search(puyo, sc, w, h, c = puyo[w][h]) return 0 if puyo[w][h].nil? return 0 if sc.key?([w, h]) return 0 if c != puyo[w][h] sc[[w, h]] = true res = 1 res += search(puyo, sc, w-1, h, c) res += search(puyo, sc, w+1, h, c) res += search(puyo, sc, w, h-1, c) res += search(puyo, sc, w, h+1, c) return res end def clear(puyo, sc) sc.each_key{|k| puyo[k[0]][k[1]] = nil} end def fall(puyo) puyo.each{|r| r.compact!} return add_nil(puyo) end res = false $H.times do |h| $W.times do |w| if puyo[w][h] sc = {} count = search(puyo, sc, w, h) if count >= 4 clear(puyo, sc) res = true end end end end fall(puyo) if res return res end def read_puyo(str) puyo = form inv = str.split("\n").reverse.map{|e| e.split(//)} h = 0 inv.each do |e| $W.times{|w| puyo[w][h] = inv[h][w] == ' ' ? nil : inv[h][w]} h += 1 end return puyo end str = <<EOS GGR YGG EOS puyo = read_puyo(str) chain = 0 begin puts "#{chain}chain" print_puyo(puyo) puts '' chain += 1 end while step(puyo)
第三問
これ書く意味ないと思うけどいちおう.
自分が選択したのは(a).投機は投資と同じ市場に影響を与える点で賭博と明確な違いがある.
賭博が現在違法なのはトラブル防止のためで,自分は理にかなってると思う.
バレンタインチョコ欲しい!
バレンタインチョコ欲しい!
欲しいプレゼントは…Amazonギフト券5万円分!!
普通に考えてこれ一択だろう・・・
thinkpadのリカバリメディア
thinkpadで、USBメモリをリカバリメディアにするとき、あらかじめboot可能なパーティションを以下の手順で作成しておかなければいけない。Windows 7 リカバリー・メディアの作成。USBメモリーキーやUSBフラッシュ・ドライブにWindows 7 リカバリー・メディアを作成するには、あらかじめWindows VistaかWindows 7でパーティションを作成しておく必要があります。- ThinkPad
リカバリメディアは一度しか作れないようだ。これは罠だ。
名無しの共用体と構造体
3次元ベクトル型とか作るときとても便利だということに気がついた.
class Vec3 { public: union { struct{ float x, y, z; }; float v[3]; }; };
これで,(Vec3 vec3;として)vec3.xとvec3.v[0]が同じ場所を指す様になるはず.