20分求调
查看原帖
20分求调
468960
zhangzehao楼主2023/4/1 10:47
#include<bits/stdc++.h>
using namespace std;
int a[1000001],l=1,n,t,d,x;
void cf(){
    l++;
    for(int i=1;i<=l;i++)
        swap(a[i],a[i-1]);
    a[0]=0;
}
void jf(){
    int tj=d;
    for(int i=1;i<=l;i++){
        a[i]+=tj;
        tj=a[i]/2;
        a[i]%=2;
    }
    while(tj>0){
        a[++l]=tj%2;
        tj/=2;
    }
}
int main(){
	cin>>n;
	while(n--){
	    l=1;
	    memset(a,0,sizeof(a));
		cin>>t;
		while(t--){
			cin>>x;
			if(x==1)cf();
			if(x==2){
				cin>>d;
				jf();
			}
		}
		while(a[l]==0&&l>1)l--;
		for(int i=l;i>=1;i--)cout<<a[i];
        cout<<endl;
	}
	return 0;
}

求调

2023/4/1 10:47
加载中...