本文整理汇总了C++中Bits::complete方法的典型用法代码示例。如果您正苦于以下问题:C++ Bits::complete方法的具体用法?C++ Bits::complete怎么用?C++ Bits::complete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bits
的用法示例。
在下文中一共展示了Bits::complete方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
//newbits = bits;
//CSolver solver;
bool solving = true;
while(solving) {
std::vector<SimpleNakedSingle> snss = find_simple_naked_singles(&bits);
if(snss.size() > 0) {
for(int i=0; i < snss.size(); i++) {
snss[i].apply(&bits);
}
continue;
}
std::vector<NakedSingle> nss = find_naked_singles(&bits);
if(nss.size() > 0) {
for(int i=0; i < nss.size(); i++) {
nss[i].apply(&bits);
}
continue;
}
std::vector<HiddenSingle> hss = find_hidden_singles(&bits);
if(hss.size() > 0) {
for(int i=0; i < hss.size(); i++) {
hss[i].apply(&bits);
}
continue;
}
std::vector<NHSubset> nhs = find_nh_subsets(&bits);
if(nhs.size() > 0) {
for(int i=0; i < nhs.size(); i++) {
nhs[i].apply(&bits);
}
continue;
}
std::vector<Pointing> points = find_pointings(&bits);
if(points.size() > 0) {
for(int i=0; i < points.size(); i++) {
points[i].apply(&bits);
}
continue;
}
std::vector<BoxLine> boxlines = find_boxlines(&bits);
if(boxlines.size() > 0) {
for(int i=0; i < boxlines.size(); i++) {
boxlines[i].apply(&bits);
}
continue;
}
std::vector<NFish> nfishes = find_nfishes(&bits);
if(nfishes.size() > 0) {
for(int i=0; i < nfishes.size(); i++) {
nfishes[i].apply(&bits);
}
continue;
}
std::vector<SimpleColoring> scs = find_simple_colorings(&bits);
if(scs.size() > 0) {
for(int i=0; i < scs.size(); i++) {
scs[i].apply(&bits);
}
continue;
}
std::vector<YWing> ywings = find_ywings(&bits);
if(ywings.size() > 0) {
for(int i=0; i < ywings.size(); i++) {
ywings[i].apply(&bits);
}
continue;
}
solving = false;
}
if(bits.complete()) {
solved++;
continue;
}
/*
std::cout << bits;
*/
}
finish = clock();
printf("time: %2.5f sec\n",(double)(finish - start)/CLOCKS_PER_SEC);
printf("%d problems processed\n", num);
printf("%2.5f sec per grid average\n", (double)(finish - start)/((double)(CLOCKS_PER_SEC * num)));
printf("%1.5f percent solvable.\n", (double)(solved)/(double)(num));
return 0;
}