写个水题,,,,这场div2看到好多大佬爆零啊
就是让二进制反序字典最小嘛。。。
你找到A串最后那个1和B串最后那个1不就行了,再判断下A串1的位置是不是比B串小,给它往前挪挪保证a-b不为0就行了。。。
还算友好,我要是出题人就给十进制了。毕竟这种东西一个n&(-n)就有结果的。。
还算挺水的。
#include<bits/stdc++.h>
using namespace std;
#define lowerbit(x) ((-x)&(x))
#define MS(x,y) memst(x,y,sizeof(x))
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int t;
cin>>t;
while(t--){
string x,y;
cin>>x>>y;
int a,b;
for(int i=x.length()-1;i>=0;i--){
if(x[i]=='1'){
a=x.length()-1-i;
break;
}
}
for(int i=y.length()-1;i>=0;i--){
if(y[i]=='1'){
b=y.length()-1-i;
break;
}
}
while(a<b){
for(int i=x.length()-a-2;i>=0;i--){
if(x[i]=='1'){
a=x.length()-1-i;
break;
}
}
}
cout<<a-b<<endl;
}
return 0;
}