Submission #880264

#TimeUsernameProblemLanguageResultExecution timeMemory
880264niterSnake Escaping (JOI18_snake_escaping)C++14
5 / 100
2058 ms6780 KiB
#include <bits/stdc++.h> #define loop(i,a,b) for(int i = (a); i < (b); i ++) #define pb push_back #define ins insert #define pii pair<int,int> #define ff first #define ss second #define op(x) cerr << #x << " = " << x << endl; #define opa(x) cerr << #x << " = " << x << ", "; #define ops(x) cerr << x; #define entr cerr << endl; #define spac cerr << ' '; #define STL(x) cerr << #x << " : "; for(auto &qwe:x) cerr << qwe << ' '; cerr << endl; #define ARR(x, nnn) cerr << #x << " : "; loop(qwe,0,nnn) cerr << x[qwe] << ' '; cerr << endl; #define BAE(x) x.begin(), x.end() #define unilize(x) x.resize(unique(BAE(x)) - x.begin()) #define unisort(x) sort(BAE(x)); unilize(x); using namespace std; typedef long long ll; int n; int a[2000000]; bool can(int x, string &s){ loop(i,0,n){ if(s[i] != '?'){ bool tmp = (1 << i) & x; if(tmp != s[i] - '0') return false; } } return true; } int main(){ // freopen("res.txt", "r", stdin); ios::sync_with_stdio(false); cin.tie(0); int q; cin >> n >> q; int m = (1 << n); loop(i,0,m){ char c; cin >> c; a[i] = c - '0'; } loop(i,0,q){ string s; cin >> s; reverse(BAE(s)); int ans = 0; loop(i,0,m){ if(can(i, s)) ans += a[i]; } 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...