Статья Автор: Лебедев Дмитрий

TUZ_5-04 Наборы карт одинаковой формы в карточной игре

TUZ_5-04 Наборы карт одинаковой формы в карточной игре

TUZ_5-04 Наборы карт одинаковой формы в карточной игре
5.4. Наборы карт одинаковой формы в карточной игре
В этой задаче предлагается считать два набора карт как имеющие одинаковую форму,
если они содержат одинаковое количество карт одинаковой масти, пусть и в разном порядке.
Например, наборы [6, 3, 2, 2] и [2, 3, 6, 2] имеют одинаковую форму.
Ваша задача: написать функцию, которая принимает список наборов карт
и возвращает список состава кортежей одинаковой формы и их количество,
при этом содержимое кортежей должно быть отсортировано по убыванию,
а список кортежей – по возрастанию.
В табл. 5.4 показаны ожидаемые результаты для некоторых входных данных. 
(наборы карт записаны в одну строку в формате "списка списков")
Таблица 5.4. Некоторые ожидаемые результаты для задачи определения наборов карт одинаковой формы
Cards Ожидаемый_результат
[[(two, hearts), (nine, spades), (two, clubs), (eight, diamonds), (queen, diamonds), (ace, clubs), (six, diamonds), (queen, hearts), (three, hearts), (queen, clubs), (ten, spades), (nine, clubs), (six, spades)],[(five, diamonds), (jack, hearts), (three, spades), (king, clubs), (two, spades), (king, spades), (jack, spades), (jack, diamonds), (seven, clubs), (nine, hearts), (two, hearts), (king, hearts), (eight, hearts)],[(queen, clubs), (jack, clubs), (two, diamonds), (nine, spades), (six, clubs), (ace, clubs), (ten, diamonds), (nine, diamonds), (three, clubs), (five, hearts), (eight, spades), (six, spades), (eight, hearts)],[(seven, spades), (ten, spades), (two, hearts), (two, clubs), (jack, spades), (five, spades), (queen, clubs), (king, hearts), (king, clubs), (seven, diamonds), (eight, clubs), (queen, spades), (four, spades)]] [((4, 3, 3, 3), 1),
((5, 3, 3, 2), 1),
((5, 4, 2, 2), 1),
((6, 4, 2, 1), 1)]
[[(two, hearts), (nine, spades), (two, clubs), (eight, diamonds), (queen, diamonds), (ace, clubs), (six, diamonds), (queen, hearts), (two, diamonds), (queen, clubs), (ten, spades), (nine, clubs), (six, spades)],[(five, diamonds), (jack, hearts), (three, spades), (king, clubs), (two, spades), (king, spades), (jack, spades), (jack, diamonds), (seven, clubs), (nine, hearts), (two, hearts),(ten, diamonds) , (eight, hearts)],[(queen, clubs), (jack, clubs), (three, hearts), (nine, spades), (six, clubs), (ace, clubs), (king, hearts), (nine, diamonds), (three, clubs), (five, hearts), (eight, spades), (six, spades), (eight, hearts)],[(seven, spades), (ten, spades), (two, hearts), (two, clubs), (jack, spades), (five, spades), (queen, clubs), (king, hearts), (king, clubs), (seven, diamonds), (eight, clubs), (queen, spades), (four, spades)]] [((4, 4, 3, 2), 2),
((5, 4, 3, 1), 1),
((6, 4, 2, 1), 1)]

Алгоритм
Методом линейного поиска определяются масти и вставляются в массив.
Затем к массиву применяются сортировки в нужном порядке.


Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать