132件中 11-15件目     [ 1 2 3 4 5 6 7 8 9 10 ... ]

約8ヶ月ぶりの更新です。6ヶ月ほどは忙しくて、残り2ヶ月ほどはブログをGoogle App Engineに移植してました。

元々、自宅で玄箱proDebianを入れたサーバを、下り約600KB/s、上り約20KB/sの回線で動かしていましたが、さすがに、そろそろ限界が近いと思ったのでGoogle App Engineに移植することにしました。ついでに、いろいろと修正したり、改良したりとしていたのですが、Google App EngineどころかDjangoの使い方もよくわからず、ずいぶん時間がかかってしまいました。

変更点など詳細は以下より。


右クリックされたときにJavascriptで独自メニューを表示したい場合や左クリックされたときにのみ特殊な処理をしたい場合など、稀にマウスのどのボタンでクリックされたのかを知りたいことがある。どのボタンでクリックされたかというのは、event.buttonやevent.whichで知ることができるのだが、呼ばれたイベントによって値が違ったり、ブラウザによって値が違ったりするので、主なブラウザでそれぞれのイベントについて値を調べて表にしてみた。


C++で全ての順列を作りたければ、STLにnext_permutation関数があり、以下のように簡単に作ることができる。

#include <iostream>
#include <vector>
#include <algorithm>

int main(){
  const int n = 3;
  std::vector<int> data;
  // [0, 1, 2, ....]というサイズnの配列を作成
  for(int i=0; i<n; ++i){
    data.push_back(i);
  }
  // 全ての順列を出力
  do{
    std::cout << "[ " << data[0];
    for(unsigned int i=1; i<data.size(); ++i){
      std::cout << ", " << data[i];
    }
    std::cout << " ]" << std::endl;
  }while(next_permutation(data.begin(), data.end()));

  return 0;
}
[ 0, 1, 2 ]
[ 0, 2, 1 ]
[ 1, 0, 2 ]
[ 1, 2, 0 ]
[ 2, 0, 1 ]
[ 2, 1, 0 ]

しかし、STLには同じように組み合わせを作るための関数が存在しない。そこで全ての組み合わせを作るような関数を探してみた。


最近、サイトの更新をサボっていたのだが、実は「ハル研究所 プログラミングコンテスト2008」に「xnights」という名前で参加していた。参加前にコンテストの宣伝と参加の宣言でもしようかとも思ったが、上位に名前が載らなかったりすると恥ずかしいかと思ってこっそり参加してた。

その結果、運良く一位になった。

そのソースコードとか解説に関しては、プロコンの結果発表ページに載ってるので、ココでは来年(プロコン2009)以降に参加する人向けにアドバイスでも書いておこうと思う。


デバッグ用に文字列をコンソールとファイルに出力する関数を作ろうと思ったのだが、printf関数やfprintf関数のように可変長な引数を取り、その引数をprintf関数に渡す関数をどう作ったらいいのかがわからなかったので調べてみた。


132件中 11-15件目     [ 1 2 3 4 5 6 7 8 9 10 ... ]