CF1651A Playoff Solution

  1. 1. Transplate
  2. 2. Solution

Transplate

这些数将进行淘汰赛。规则如下。

  1. 第一轮比赛由相邻两个数比较。即
  2. 之后比赛由上一轮比赛的胜出者进行比赛。
  3. 两个数加和若为奇数,那么小的数胜利;若为偶数,那么大的数胜利。

问最终留下来的数是哪个数?

Solution

第一轮比赛,留下来的数都是奇数

(为什么?第一轮加和都为奇数,而较小的数都是偶数)

之后每一轮的比赛留下来的都是较大的数。

(为什么?奇数相加都是偶数,所以大的数赢)

那么,最终留下来的就是数列中最大的奇数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<bits/stdc++.h>
using namespace std;

int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
cout<<(1<<n)-1<<endl;
}
return 0;
}