测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A16649. El fucho

编程题 入门
知识点

题目描述

胡安和他的朋友们打算将自己分成 $n$ 支队伍,进行一场经过修改的双败淘汰制足球锦标赛。比赛分为胜者组和败者组。一开始,所有队伍都属于胜者组。

在锦标赛的每一轮中,只要任意一组中至少有两支队伍,就会发生以下过程:

- 所有胜者组的队伍进行配对。
- 如果胜者组有奇数支队伍,将会有一支队伍没有被配对(不会参加本轮比赛)。这支队伍会留在胜者组。
- 对于被配对的胜者组队伍,每对进行一场没有平局的足球赛。
- 获胜的队伍留在胜者组。
- 失败的队伍在下一轮进入败者组。
- 所有败者组的队伍进行配对。
- 如果败者组有奇数支队伍,将会有一支队伍没有被配对(不会参加本轮比赛)。这支队伍会留在败者组。
- 对于被配对的败者组队伍,每对进行一场没有平局的足球赛。
- 获胜的队伍留在败者组。
- 失败的队伍会被淘汰出锦标赛。

注意,在上述过程中,胜者组输掉比赛进入败者组的队伍,将在下一轮才参与败者组的配对。也就是说,这些队伍不会被纳入本轮败者组的配对过程。

经过多轮上述过程后,胜者组和败者组都将只剩下一支队伍。当出现这种情况时,两组的最后一支队伍将进行一场比赛,决出最终的胜者。

请计算总共进行了多少场比赛。可以证明,无论队伍如何配对及胜负如何,答案都是唯一的。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例的数量 $t$($1 \le t \le 100$)。每个测试用例包含一行一个正整数 $n$($2 \le n \le 500$),表示队伍的数量。

输出格式

对于每个测试用例,输出本次锦标赛中总共进行的比赛场数。

输入输出样例

输入 #1
2
2
3
输出 #1
2
4

说明/提示

在第一个测试用例中,可以证明总共进行了 $2$ 场比赛后决出了胜者。

在第二个测试用例中,下图展示了一种可能的锦标赛流程。可以看到,总共进行了 $4$ 场比赛。

![](/uploads/acgo/image/eef8035f685a49febc02e6a78385b305_55d7e8bc23b1.png)
上一题 去做题 下一题