码迷,mamicode.com
首页 > 其他好文 > 详细

Vj A - Phoenix and Balance

时间:2020-05-18 12:35:54      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:fine   +=   phoenix   div   mes   最大的   ++   efi   int   

#include<bits/stdc++.h>
#define ll long long
using namespace std;
//让最大的数和前面n/2-1个较小的数加和,再减去剩下的数,就是答案
int  main( )
{
    int t,n,k=0;
    cin>>t;
    int a[t];
    for(int i=0;i<t;i++)
    {
        cin>>n;
        int b=2;
        ll s=0,z=0;//s是结果较大的组合,z是结果较小的组合
        for(int j=0;j<n-1;j++)//最大的数直接在最后与s加和
        {
            if(j<n/2-1)
            {
                s+=b;
            }
            else{
                z+=b;
            }
            b*=2;
        }
        s+=b;
        a[k]=s-z;
        k++;
    }
    for(int i=0;i<t;i++)
    {
        cout<<a[i]<<endl;
    }
    return 0;
}

Vj A - Phoenix and Balance

标签:fine   +=   phoenix   div   mes   最大的   ++   efi   int   

原文地址:https://www.cnblogs.com/SyrupWRLD999/p/12909497.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!