>>286 結果から先に。
2.0 C++ (Visual C++ 6.0 SP5, STLport 4.5, hash_map: /O2 /MD)
なお、ハッシュ関数は C のコードに忠実に次のように定義しました。
struct PrefixHash
{
enum { MULTIPLIER = 31, NHASH = 4093 };
size_t operator()(const Prefix& pref) const
{
size_t h = 0;
int i;
const unsigned char *pc;
for (i = 0; i < NPREF; i++)
for (pc = reinterpret_cast<const unsigned char*>(pref[i].c_str()); *pc != '\0'; pc++)
h = MULTIPLIER * h + *pc;
return h % NHASH;
}
};