C++11を訳も分からず使っていたら、華麗に爆死しました。
Debian 7.7 wheezyのg++(※)はC++11のstd::regexが使えません。警告もエラーも出ず、中途半端に動くため混乱します。例えば、
など、性質の悪い動きをします。
参照サイト(Qiita - 2013-10-03以前のGNU libstdc++ ではC++11の正規表現は使えません)のおっしゃる通り、std::regexを使うのは諦めて、boost::regexを使います。
しばらくはlibstdc++ のバージョンは要チェックかな……。
std::regex r("abc"); //OK, but not work fine...
std::regex r("[ ]"); //NG, std::regex_error
(※)g++ (Debian 4.7.2-5) 4.7.2
メモ: 技術系の話はFacebookから転記しておくことにした。
目次: ベンチマーク
少しだけ Nクイーン問題JavaScript版のソルバを更新しました。右上の角にある場合(1列目)は、N - 1の大きさの盤の問題を解くこととほぼ同じ、と見なすことで、1割ほど速くなりました。
他の言語でもやってみようと思い、試しにJava版に同じ実装をしてみましたが、全く速くなりません。うーん、なんでだろう……?
以下、各言語版のNクイーン問題のソルバへのリンクです。
< | 2014 | > | ||||
<< | < | 12 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | 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 | - | - | - |
合計:
本日: