1 条题解

  • 0
    @ 2022-11-26 8:12:29
    //#pragma GCC optimize(1,2,3,"Ofast","inline")
    #include <iostream>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    #define int long long
    #define fre freopen(".in","r",stdin),freopen(".out","w",stdout)
    #define fcl fclose(stdin),fclose(stdout)
    inline int read() {
    	register int x=0,m=1;
    	register char ch=getchar();
    	while(!isdigit(ch)) {
    		if(ch=='-') m=-1;
    		ch=getchar();
    	}
    	while(isdigit(ch)) {
    		x=(x<<1)+(x<<3)+(ch^48);
    		ch=getchar();
    	}
    	return x*m;
    }
    inline void write(int x) {
    	if(x<0) putchar('-'),write(-x);
    	else {
    		if(x>=10) write(x/10);
    		putchar(x%10+'0');
    	}
    }
    #define read(n) n=read()
    int T,n;
    string a;
    signed main() {
    //	fre;
    	read(T);
    	while(T--) {
    		read(n);
    		cin>>a;
    		string res="";
    		int x=0;
    		for(register int i=n-1;~i;--i)
    			if(a[i]=='0') {
    				x=a[i-2]^48;
    				x=(x<<1)+(x<<3)+(a[i-1]^48);
    				res=char(x-1+'a')+res;
    				i-=2;
    			} else
    				res=char((a[i]^48)-1+'a')+res;
    		cout<<res<<endl;
    	}
    //	fcl;
    	return 0;
    }
    
    
    
    #include <iostream>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    #define int long long
    inline int read() {
    	int x=0,m=1;
    	char ch=getchar();
    	while(!isdigit(ch)) {
    		if(ch=='-') m=-1;
    		ch=getchar();
    	}
    	while(isdigit(ch)) {
    		x=(x<<1)+(x<<3)+(ch^48);
    		ch=getchar();
    	}
    	return x*m;
    }
    inline void write(int x) {
    	if(x<0) putchar('-'),write(-x);
    	else {
    
    		if(x>=10) write(x/10);
    		putchar(x%10+'0');
    	}
    }
    #define read(n) n=read()
    const int N=105;
    int n,T,a[N],b[N];
    signed main() {
    	read(T);
    	while(T--) {
    		read(n);
    		int cnt=0,res=0;
    		for(register int i=1;i<=n;++i) {
    			read(a[i]);
    			if(a[i]==1)
    				++res;
    		}
    		for(register int i=1;i<=n;++i) {
    			read(b[i]);
    			if(a[i]!=b[i])
    				++cnt;
    			if(b[i]==1)
    				--res;
    		}
    		if(cnt==0) {
    			write(cnt),putchar('\n');
    			continue;
    		}
    		int ans=abs(res);
    		if(ans!=cnt) ++ans;
    		write(ans),putchar('\n');
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    216
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    递交数
    29
    已通过
    12
    上传者