我正在做一个练习——Dominosa——我必须使用递归回溯来解决 Dominosa 板。在随机数板上,数字需要配对,不能重复配对。
问题是类头文件似乎不允许使用容器类 - 或者至少不允许以我尝试的方式使用。到目前为止,我已经尝试过集合中的集合、集合中的地图、集合中的向量等——以跟踪已选择的数字对。但我总是得到错误“二进制表达式的无效操作数”,它链接到这个;
/// One of the @link s20_3_3_comparisons comparison functors@endlink.
template <class _Tp>
struct less : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x < __y; }
};
在 stl_function.h 中。所以这;
Map<coord, int> numbers;
不会产生错误,而这;
Set<Set<Map<coord, int> > > pairings;
创建一个错误。
目前我不知道如何在不跟踪配对的情况下解决这个问题......?