#include<bits/stdc++.h>
using namespace std;
#define int long long
#define all(x) x.begin(),x.end()
#define ff first
#define ss second
#define pb push_back
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int l,q;
cin>>l>>q;
string s;
cin>>s;
while(q--){
string x;
cin>>x;
reverse(all(x));
int n=0;
vector <int> v;
int cnt=0;
int ans=0;
for(int i=0;i<x.size();i++){
if(x[i]=='?'){
v.pb(1<<i);
cnt++;
}
else if(x[i]=='1')n+=(1<<i);
}
for(int mask=0;mask<(1<<cnt);mask++){
int n2=0;
for(int i=0;i<cnt;i++){
if(mask&(1<<i))n2+=v[i];
}
ans+=(s[n+n2]-'0');
}
cout<<ans<<"\n";
}
}
/*
3 5 12345678
000
0??
1?0
?11
???
4 8 3141592653589793
0101
?01?
??1?
?0??
1?00
01?1
??10
????
*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |