求教站外题
  • 板块灌水区
  • 楼主tsh_qwq
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/9/30 17:15
  • 上次更新2024/9/30 17:19:26
查看原帖
求教站外题
1485346
tsh_qwq楼主2024/9/30 17:15

描述
小明正在组织一次足球比赛。他想出了以下比赛形式: 在前几个阶段(可能是零个阶段),当球队数量为偶数时,他们抽签两两配对,每对踢一场比赛。在每个阶段,每对输家都会被淘汰(没有平局)。当参赛队数为偶数时,就进行这样的阶段。 最终剩下的队伍将是奇数。如果剩下一支队伍,则宣布该队获胜,比赛结束。否则,剩下的每支队伍都将与其他剩下的队伍进行一次循环赛(如果有x支队伍,则将有x(x-1)/2场比赛),比赛结束。 例如,如果最初有20支队伍,他们将先进行10场比赛。因此,10支球队将被淘汰,剩下的10支球队将进行5场比赛。然后,剩下的5支球队将在循环赛中进行10场比赛。总共将进行10+5+10=25场比赛。 小明已经预订了n场比赛的体育场。请帮助他确定应该邀请多少支球队,以便比赛精确地进行n场比赛。您应该按升序打印所有可能的参赛队数量,这些数量将正好产生n场比赛,如果没有这样的数量,则打印-1。 输入
第一行包含一个整数n ( 1 ≤ n ≤ 10^18 ),即应进行的游戏数量。 输出
按升序打印所有可能的受邀球队数量,每行一个。如果正好n场比赛无法进行,则输出一个数字:-1。

2024/9/30 17:15
加载中...