CF1359A.Berland Poker
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
The game of Berland poker is played with a deck of n cards, m of which are jokers. k players play this game (n is divisible by k).
At the beginning of the game, each player takes kn cards from the deck (so each card is taken by exactly one player). The player who has the maximum number of jokers is the winner, and he gets the number of points equal to x−y, where x is the number of jokers in the winner's hand, and y is the maximum number of jokers among all other players. If there are two or more players with maximum number of jokers, all of them are winners and they get 0 points.
Here are some examples:
- n=8, m=3, k=2. If one player gets 3 jokers and 1 plain card, and another player gets 0 jokers and 4 plain cards, then the first player is the winner and gets 3−0=3 points;
- n=4, m=2, k=4. Two players get plain cards, and the other two players get jokers, so both of them are winners and get 0 points;
- n=9, m=6, k=3. If the first player gets 3 jokers, the second player gets 1 joker and 2 plain cards, and the third player gets 2 jokers and 1 plain card, then the first player is the winner, and he gets 3−2=1 point;
- n=42, m=0, k=7. Since there are no jokers, everyone gets 0 jokers, everyone is a winner, and everyone gets 0 points.
Given n, m and k, calculate the maximum number of points a player can get for winning the game.
伯兰德扑克(Berland poker)游戏使用一副共 n 张牌的牌组,其中 m 张为王牌(joker)。共有 k 名玩家参与此游戏(且 n 可被 k 整除)。
游戏开始时,每名玩家从牌组中抽取 kn 张牌(因此每张牌恰好被一名玩家获得)。拥有最多王牌的玩家获胜,其得分为 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,请计算一名玩家在赢得游戏时所能获得的最高分数。
输入格式
The first line of the input contains one integer t (1≤t≤500) — the number of test cases.
Then the test cases follow. Each test case contains three integers n, m and k (2≤n≤50, 0≤m≤n, 2≤k≤n, k is a divisors of n).
输入的第一行包含一个整数 t(1≤t≤500)—— 表示测试用例的数量。
接下来是各测试用例。每个测试用例包含三个整数 n、m 和 k(2≤n≤50,0≤m≤n,2≤k≤n,且 k 是 n 的约数)。
输出格式
For each test case, print one integer — the maximum number of points a player can get for winning the game.
对于每个测试用例,输出一个整数——玩家获胜时所能获得的最高分数。
输入输出样例
输入#1
4 8 3 2 4 2 4 9 6 3 42 0 7
输出#1
3 0 1 0
说明/提示
Test cases of the example are described in the statement.
示例的测试用例在题目描述中已给出。
输入解题思路,AI测评打分。不知道怎么写?