// Assuming two known hold'em hands, enumerate all possible board combinations. const int cardsRemaining = 48; int enums = 0; for ( int flop1 = 1; flop1 <= cardsRemaining; ++flop1 ) { for ( int flop2 = flop1 + 1; flop2 <= cardsRemaining; ++flop2 ) { for ( int flop3 = flop2 + 1; flop3 <= cardsRemaining; ++flop3 ) { for ( int turn = flop3 + 1; turn <= cardsRemaining; ++turn ) { for ( int river = turn + 1; river <= cardsRemaining; ++river ) { ++enums; } } } } } cout << "Board enums: " << enums << endl;