#包括#包括#包括使用命名空间标准;#定义最大值(1LL<<30)位组*seen=0;矢量复写的副本;长-长-其他(长-长-p){see->集合(p);长-长w=1;for(长b=1;;b<<=1){如果((p&b)==0){if(cc.size()==w){cc.调整大小(2*w);}for(长k=0;k=最大值){返回0;}if(!seen->测试(c)){返回c;}}w*=2;}}}整型main(){seen=新位集see->集合(0);//仅限正整数cc.调整大小(1);长-长v=1,pp,p;for(long long n=1;v&&n<=10000+2;n++){如果(n>=3){cout<<n-2<<''<<(pp&v)<<endl;}pp=p;p=v;v=其他(v);}删除看到的;返回0;}