CF1359A.Berland Poker

入门

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The game of Berland poker is played with a deck of nn cards, mm of which are jokers. kk players play this game (nn is divisible by kk).

At the beginning of the game, each player takes nk\frac{n}{k} 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−yx - y, where xx is the number of jokers in the winner's hand, and yy 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 00 points.

Here are some examples:

  • n=8n = 8, m=3m = 3, k=2k = 2. If one player gets 33 jokers and 11 plain card, and another player gets 00 jokers and 44 plain cards, then the first player is the winner and gets 3−0=33 - 0 = 3 points;
  • n=4n = 4, m=2m = 2, k=4k = 4. Two players get plain cards, and the other two players get jokers, so both of them are winners and get 00 points;
  • n=9n = 9, m=6m = 6, k=3k = 3. If the first player gets 33 jokers, the second player gets 11 joker and 22 plain cards, and the third player gets 22 jokers and 11 plain card, then the first player is the winner, and he gets 3−2=13 - 2 = 1 point;
  • n=42n = 42, m=0m = 0, k=7k = 7. Since there are no jokers, everyone gets 00 jokers, everyone is a winner, and everyone gets 00 points.

Given nn, mm and kk, calculate the maximum number of points a player can get for winning the game.

伯兰德扑克(Berland poker)游戏使用一副共 nn 张牌的牌组,其中 mm 张为王牌(joker)。共有 kk 名玩家参与此游戏(且 nn 可被 kk 整除)。

游戏开始时,每名玩家从牌组中抽取 nk\frac{n}{k} 张牌(因此每张牌恰好被一名玩家获得)。拥有最多王牌的玩家获胜,其得分为 x−yx - y,其中 xx 为获胜者手牌中的王牌数量,yy 为其余所有玩家中王牌数量的最大值。若存在两名或以上玩家拥有相同最多的王牌数,则他们均为获胜者,且每人得分为 00。

以下是一些示例:

  • n=8n = 8, m=3m = 3, k=2k = 2。若一名玩家获得 33 张王牌和 11 张普通牌,另一名玩家获得 00 张王牌和 44 张普通牌,则第一名玩家获胜,得分为 3−0=33 - 0 = 3;
  • n=4n = 4, m=2m = 2, k=4k = 4。两名玩家获得普通牌,另两名玩家各获得一张王牌,因此这两名玩家均为获胜者,每人得分为 00;
  • n=9n = 9, m=6m = 6, k=3k = 3。若第一名玩家获得 33 张王牌,第二名玩家获得 11 张王牌和 22 张普通牌,第三名玩家获得 22 张王牌和 11 张普通牌,则第一名玩家获胜,得分为 3−2=13 - 2 = 1;
  • n=42n = 42, m=0m = 0, k=7k = 7。由于没有王牌,所有玩家均获得 00 张王牌,因此所有人都是获胜者,每人得分为 00。

给定 nn、mm 和 kk,请计算一名玩家在赢得游戏时所能获得的最高分数。

输入格式

The first line of the input contains one integer tt (1≤t≤5001 \le t \le 500) — the number of test cases.

Then the test cases follow. Each test case contains three integers nn, mm and kk (2≤n≤502 \le n \le 50, 0≤m≤n0 \le m \le n, 2≤k≤n2 \le k \le n, kk is a divisors of nn).

输入的第一行包含一个整数 tt(1≤t≤5001 \le t \le 500)—— 表示测试用例的数量。

接下来是各测试用例。每个测试用例包含三个整数 nn、mm 和 kk(2≤n≤502 \le n \le 50,0≤m≤n0 \le m \le n,2≤k≤n2 \le k \le n,且 kk 是 nn 的约数)。

输出格式

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测评打分。不知道怎么写?

首页