제출 #1158626

#제출 시각아이디문제언어결과실행 시간메모리
1158626NurlykhanSnake Escaping (JOI18_snake_escaping)C++20
5 / 100
2096 ms5920 KiB
#include <bits/stdc++.h> using namespace std; const int N = (1 << 20) + 10; int l, q; int a[N]; int main() { #ifdef local freopen("input.txt", "r", stdin); #endif // local string s; cin >> l >> q >> s; for (int i = 0; i < s.size(); i++) { a[i] = s[i] - '0'; } while (q--) { string t; cin >> t; vector<int> not_set; int orig_mask = 0; for (int i = 0; i < l; i++) { if (t[i] == '?') { not_set.push_back(i); } else if (t[i] == '1') { orig_mask |= (1 << (l - i - 1)); } } int len = not_set.size(); int ans = 0; for (int mask = 0; mask < (1 << len); mask++) { int cur_mask = orig_mask; for (int i = 0; i < len; i++) { if ((mask >> i) % 2) { cur_mask |= (1 << (l - not_set[i] - 1)); } } ans += a[cur_mask]; } cout << ans << endl; } 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...