#pragma once #include #include namespace std { template struct hash> { typedef array argument_type; typedef size_t result_type; result_type operator()(const argument_type& a) const { hash hasher; result_type h = 0; for (result_type i = 0; i < N; ++i) { h = h * 31 + hasher(a[i]); } return h; } }; } // namespace std