loj#501 「LibreOJ β Round」ZQC 的树列

分析

代码(我的代码是瞎jb水过去的)

#include<bits/stdc++.h>
using namespace std;
#define li long long
li a[1001000];
int main(){
    li n=0,i,j,k,kk;
    scanf("%lld",&k);
    a[++n]=1;
    while(k%2==0)a[++n]=2,k/=2;
    a[++n]=3;
    for(li i=(1ll<<60)-1,w=0;i>1;i/=2)
      while(k%i==0&&i!=63){j=i;while(j)a[++n]=w,j/=2;w^=1;k/=i;}
    if(k>1){puts("qnq");return 0;}
    printf("%d\n",n);
    for(i=1;i<=n;i++)printf("%d ",a[i]);
    return 0;
}

 

posted @ 2019-09-30 10:33  水题收割者  阅读(333)  评论(0编辑  收藏  举报