Submission #330190

#TimeUsernameProblemLanguageResultExecution timeMemory
330190casperwangSnake Escaping (JOI18_snake_escaping)C++14
12 / 100
2095 ms8080 KiB
#include <bits/stdc++.h> using namespace std; const int L = 20; int n, q; string str; int val[1<<L]; int ans; signed main() { ios_base::sync_with_stdio(0), cin.tie(0); cin >> n >> q; cin >> str; for (int i = 0; i < (1<<n); i++) val[i] = str[i] - '0'; for (int i = 0; i < q; i++) { cin >> str; int a = 0, b = 0; for (int j = 0; j < n; j++) { if (str[j] == '?') a = a*2, b = b*2+1; else if (str[j] == '0') a = a*2, b = b*2; else a = a*2+1, b = b*2+1; } ans = val[a]; int t = a^b; for (int j = t; j; j=(j-1)&t) { ans += val[a|j]; } cout << ans << "\n"; } }
#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...