原题链接:点我跳转
思路:
每场比赛产生恰好一次“输”(一次输对一队计一次)。最后只剩一支冠军队(0 次输),其余 (n-1) 支队被淘汰。被淘汰的每支队在这个双败规则下被淘汰前必须输 两次(第一次落入败者组,第二次在败者组被淘汰;决赛中的败者也是其第二次失败)。因此总的失败次数为 (2(n-1)),而每场比赛对应一次失败,故比赛总场数为 (2(n-1)=2n-2)。
AC code:
#include <iostream>
using namespace std;
typedef long long ll;
ll n , t;
int main () {
scanf("%lld" , &t);
while(t --) {
scanf("%lld" , &n);
printf("%lld\n" , n * 2 - 2);
}
return 0;
}
总结:
像这种题,思路或许比代码多的多。
他更加考你思路(实在不行,打表来凑),最终总结成一句话。
1736

被折叠的 条评论
为什么被折叠?



