Решение задачи Берляндский покер с Codeforces
Без пояснения   Просмотров: 1338
В берляндский покер играют с колодой из n карт, m из которых являются джокерами. В игре участвует k игроков (n делится на k).
В начале игры каждый игрок берет nk карт из колоды (таким образом, каждая карта берется ровно одним игроком). Игрок, у которого максимальное количество джокеров в руке, является победителем, и он получает количество очков, равное x−y, где x — количество джокеров в руке победителя, а y — максимальное количество джокеров среди всех других игроков. Если есть два или более игроков с максимальным количеством джокеров, все они являются победителями, и они получают 0 очков.
Вот несколько примеров:
n=8, m=3, k=2. Если один игрок получает 3 джокера и 1 простую карту, а другой игрок получает 0 джокеров и 4 простые карты, то первый игрок является победителем и получает 3−0=3 очка;
n=4, m=2, k=4. Два игрока получают простые карты, а два других игрока получают джокеры, так что оба они являются победителями и получают 0 очков;
n=9, m=6, k=3. Если первый игрок получает 3 джокера, второй игрок получает 1 джокера и 2 простые карты, а третий игрок получает 2 джокера и 1 простую карту, то первый игрок является победителем, и он получает 3−2=1 очко;
n=42, m=0, k=7. Поскольку джокеров нет, каждый получает 0 джокеров, каждый является победителем, и каждый получает 0 очков.
Для заданных n, m и k вычислите максимальное количество очков, которое игрок может получить за победу в игре.
В начале игры каждый игрок берет nk карт из колоды (таким образом, каждая карта берется ровно одним игроком). Игрок, у которого максимальное количество джокеров в руке, является победителем, и он получает количество очков, равное x−y, где x — количество джокеров в руке победителя, а y — максимальное количество джокеров среди всех других игроков. Если есть два или более игроков с максимальным количеством джокеров, все они являются победителями, и они получают 0 очков.
Вот несколько примеров:
n=8, m=3, k=2. Если один игрок получает 3 джокера и 1 простую карту, а другой игрок получает 0 джокеров и 4 простые карты, то первый игрок является победителем и получает 3−0=3 очка;
n=4, m=2, k=4. Два игрока получают простые карты, а два других игрока получают джокеры, так что оба они являются победителями и получают 0 очков;
n=9, m=6, k=3. Если первый игрок получает 3 джокера, второй игрок получает 1 джокера и 2 простые карты, а третий игрок получает 2 джокера и 1 простую карту, то первый игрок является победителем, и он получает 3−2=1 очко;
n=42, m=0, k=7. Поскольку джокеров нет, каждый получает 0 джокеров, каждый является победителем, и каждый получает 0 очков.
Для заданных n, m и k вычислите максимальное количество очков, которое игрок может получить за победу в игре.
Заявка на расчет
Автор: Администратор