本文整理汇总了C++中Sudoku::GetBuddies方法的典型用法代码示例。如果您正苦于以下问题:C++ Sudoku::GetBuddies方法的具体用法?C++ Sudoku::GetBuddies怎么用?C++ Sudoku::GetBuddies使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sudoku
的用法示例。
在下文中一共展示了Sudoku::GetBuddies方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: XyzWing
bool XyzWing(Sudoku &sudoku)
{
Log(Trace, "searching for xyz-wings\n");
for (Index_t i = 0; i < 9; ++i) {
for (Index_t j = 0; j < 9; ++j) {
if (sudoku.GetCell(i, j).NumCandidates() != 3)
continue;
boost::array<Position, NUM_BUDDIES> buddies =
sudoku.GetBuddies(i, j);
boost::array<Position, NUM_BUDDIES>::const_iterator it0, it1;
for (it0 = buddies.begin(); it0 != buddies.end(); ++it0) {
if (sudoku.GetCell(*it0).NumCandidates() != 2)
continue;
for (it1 = it0 + 1; it1 < buddies.end(); ++it1) {
if (XyzWingForCells(sudoku, i, j, it0->row, it0->col,
it1->row, it1->col)) {
return true;
}
}
}
}
}
return false;
}