제출 #729409

#제출 시각아이디문제언어결과실행 시간메모리
729409pccSnake Escaping (JOI18_snake_escaping)C++14
12 / 100
231 ms9672 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pll pair<ll,ll> #define fs first #define sc second const int mxn = pow(3,11); int ans[mxn]; void solve(){ int n,q; cin>>n>>q; int arr[1<<n]; for(auto &i:arr){ char c; cin>>c; i = c-'0'; } for(int i = 0;i<(1<<n);i++){ for(int j = 0;j<(1<<n);j++){ int total = 0; int p = 1; for(int k = 0;k<n;k++){ if(j&(1<<k))total += p*2; else if(i&(1<<k))total += p; p *= 3; } ans[total] += arr[i]; } } while(q--){ string s; cin>>s; int p = 1; int t = 0; reverse(s.begin(),s.end()); for(int i = 0;i<n;i++){ if(s[i] == '?')t += p*2; else if(s[i] == '1')t += p; p *= 3; } cout<<ans[t]<<'\n'; } } int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t = 1; while(t--)solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...