524 {
525 int rightmost_bit;
526 int smallest = 99999;
527 int smallest_index = 0;
528
529 for (int i = 0; i < num_of_ingredients; i++)
530 {
532 if ( count != 0 && count < smallest)
533 {
535 smallest_index = i;
536 }
537 }
538
541
542 for (
int x = 0;
x < num_of_ingredients;
x++)
543 {
547 }
548
549
550 int check_sum_vertical = 0;
551
552 for (int z = 0; z < num_of_ingredients; z++)
553 {
557 {
558 return false;
559 }
560 }
561
562 if ( check_sum_vertical != (Math.Pow(2, num_of_ingredients) - 1)) return false;
563
564 passes++;
565
566 if (passes < num_of_ingredients)
567 {
569 }
570 return true;
571 }
int m_IngredientBitMaskSize[MAX_INGREDIENTS]
bool ResolveIngredients(int num_of_ingredients, int passes=0)
int m_BitsResults[MAX_INGREDIENTS]
int m_IngredientBitMask[MAX_INGREDIENTS]