ZJ 我去世了

回复帖子

@int_Tian_cai 2019-12-03 23:06 回复

D1T1代码如下,挂了

#include<bits/stdc++.h>
#define ll unsigned long long 
#define MAX 1000005
using namespace std;
ll pow(ll x,ll b)
{
    ll ans=1;
    while(b)
    {
        if(b&1) x=x*x;
        ans=ans*x;
        b>>=1;
    }
    return ans;
}
ll dfs(int n,ll x)
{
     if(n==1&&x==1) return 1;
     if(n==1&&x==0) return 0;
     ll u=pow(2,n);
     int p;
     ll m=u-x-1;
     if(m<=u/2-1) return dfs(n-1,m)+u/2;
     else return dfs(n-1,x);
}
int ope[70];
int main()
{
    freopen("code.in","r",stdin);
    freopen("code.out","w",stdout);
    int n;
    ll k;
    scanf("%d%lld",&n,&k);
    ll x=dfs(n,k);
    cout<<x<<endl;
    int cnt=1;
    while(x!=0&&cnt<=n)
    {
        if(x%2==1) ope[cnt]=1;
        else ope[cnt]=0;
        x>>=1;
        cnt++;
    }
    for(int i=n;i>=1;i--)
    {
        printf("%d",ope[i]);
    }
    return 0;
}
/*
44 4444444444444
01100000111110101011010011000110010010010010
*/

然后我没了,少加了一个注释,爆零了

洛谷亲测95分。。

上传不检查,教练两行泪

给我一杯忘情水

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。