我眼睛都快看花了都没看出来!!!
#include<bits/stdc++.h>
using namespace std;
string s;
long long n,len;
void dfs(int x,long long op,long long cnt){
if(cnt>n){
return;
}
if(x>len){
cout<<cnt;
exit(0);
}
if(s[x]=='?'){
dfs(x+1,op/2,cnt+op);
dfs(x+1,op/2,cnt);
}else{
dfs(x+1,op/2,cnt+op*(s[x]-'0'));
}
}
int mian(){
cin>>s>>n;
len=s.size();
dfs(0,1ll<<(len-1),0);
cout<<-1;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
string s;
long long n, len;
void dfs(int x,long long op,long long cnt){
if (cnt>n){
return;
}
if (x>len){
cout<<cnt;
exit(0);
}
if (s[x]=='?'){
dfs(x+1,op/2,cnt+op);
dfs(x+1,op/2,cnt);
}else {
dfs(x+1, op/2, cnt+op*(s[x]-'0'));
}
}
int main(){
cin>>s>>n;
len=s.size();
dfs(0,1ll<<(len-1),0);
cout<<-1;
return 0;
}
啊啊啊啊啊啊啊啊!!!