Ищем комбинации, которые составляют до 15 в карте рук - PullRequest
3 голосов
/ 05 декабря 2010

Я пишу программу, которая имеет дело с картами и рукой. В руке 5 карт. Я хочу знать, каков хороший алгоритм для определения того, какая комбинация карт составляет до 15. Короли, королевы, валеты считаются как 10, а тузы считаются за один.

Ответы [ 2 ]

1 голос
/ 05 декабря 2010

Это очень похоже на суммы подмножеств, на которые я недавно отвечал: Алгоритм суммы подмножеств

Единственное, что вам нужно сделать, это отследить, какая карта использовалась для получения от possible[i] до possible[i+n]. Вы можете отслеживать их, используя второй массив, назовем его card_used и затем установите card_used[i+n] в качестве ссылки / индекса карты, используемой для получения от i до i+n. Затем, в конце, вы можете получить список карт, используемых для получения суммы 15 (при условии, что possible[15] верно), вернувшись по списку card_used.

0 голосов
/ 05 декабря 2010

1) получить руку
2) петля через руку
2a) каждую итерацию добавляйте стоимость автомобиля к промежуточной сумме. 2b) если вы наберете больше 15, вы можете выйти из этой итерации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...