Submission #1158707

#TimeUsernameProblemLanguageResultExecution timeMemory
1158707HakunaSnake Escaping (JOI18_snake_escaping)C++20
5 / 100
2095 ms4324 KiB
#include <bits/stdc++.h> using namespace std; int l, Q; string s; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> l >> Q; cin >> s; while (Q--) { string d; cin >> d; queue< pair<int, int> > q; q.emplace(0, 0); long long ans = 0; while (!q.empty()) { auto [num, pos] = q.front(); q.pop(); if (pos == d.size()) { ans += s[num] - '0'; continue; } if (d[pos] == '?') { q.emplace(num | (1 << (d.size() - 1 - pos)), pos + 1); q.emplace(num, pos + 1); } else { q.emplace(num | ((d[pos] - '0') << (d.size() - 1 - pos)), pos + 1); } } cout << ans << '\n'; } return 0; }
#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...