您的位置:首页 > 其它

2016山东省acm省赛 G题尼姆博奕

2016-06-06 18:48 330 查看
#include<iostream>
#include<map>
#include<cstdio>
#include<algorithm>
using namespace std;
long long num[55];
void init()
{
for(int i=1;i<=50;i++)
num[i]=num[i-1]*3+1;
}
long long solve(long long n)
{
long long cnt=0;
while(n)
{
if(n%2)
cnt++;
n/=2;
}
return cnt;
}
int main()
{
long long t,n;
scanf("%lld",&t);
init();
while(t--&&scanf("%lld",&n)!=EOF)
{
if(n&1)
printf("0\n");
else
{
n=solve(n);
printf("%lld\n",num[n-1]);
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: