#P01030. 百米竞赛分组简单版

百米竞赛分组简单版

题目描述

学校运动会有 mm 位选手(编号依次是1,2,3,...,m1,2,3,...,m)参加百米赛跑,田径场共有 nn 条跑道,因为每一轮比赛一条跑道上最多只能有 11 人,所以需要将选手分成多组进行比赛。请你编写一个程序来实现分组,具体要求如下:

  1. 组数要尽可能少,分组按照自然序列编号(第 11 组,第 22 组,......)
  2. 每组人数要尽可能相等,只允许编号小的组比编号大的组人数多(结合下面的例2分析这条规则)
  3. 按照选手编号从小到大依次指派选手到各组各条跑道(11 号选手到第 11 组 11 跑道,22 号选手到第 11 组 22 跑道,33 号选手到第 11 组 33 跑道,......)

例11: m=16,n=8m=16,n=8 时,分组情况如下:

image

例22: m=26,n=8m=26,n=8 时,分组情况如下(结合下表分组结果分析上面提到的分组要求2):

image

输入格式

11 行,两个正整数 m,nm,n。

输出格式

22 个整数,就是按照上述规则安排跑道需要安排的组数和每组至少安排的人数,两者之间用一个空格隔开。

输入输出样例

16 8
2 8
26 8
4 6

说明/提示

👀️ 对于100%100\%的数据,1≤n≤m≤1041 \leq n \leq m \leq 10^4。

👀️ 对于输入样例2,按照规则安排跑道,需要安排 44 组,每组人数是 66 人或 77 人,那每组至少安排 66 人。

👀️ C/C++中可以使用 cmath 数学函数库中的 ceil 函数向上取整,floor 函数向下取整。