眼瞎……而且智商低,还没听懂那句话啥意思(李世冬刚开始比赛就跟我说,一直没听懂)

#include<stdio.h>
#include<string.h>
int main()
{
    int casenum,casei;
    int n,m;
    long long b[64],s[64],num[64];
	for(int i=1;i<=62;++i)
        b[i]=1ll<<i-1;
	for(int i=0;i<=62;++i)
        s[i]=(1ll<<i)-1;
	scanf("%d",&casenum);
	for(casei=1;casei<=casenum;++casei)
	{
		scanf("%d%d",&n,&m);
		printf("Case #%d:\n",casei);
		memcpy(num,b,sizeof(b));
		long long dif=s[m]-n;
		if(dif&1){
            ++dif;++num[m];
        }
		dif>>=1;
		for(int i=1;i<=m;++i)
            printf("%lld %c\n",num[i],dif&b[i]?'-':'+');
	}
	return 0;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注