Submission #828107

#TimeUsernameProblemLanguageResultExecution timeMemory
828107NhanBeooSnake Escaping (JOI18_snake_escaping)C++17
5 / 100
2070 ms4816 KiB
// Judges with GCC >= 12 only needs Ofast // #pragma GCC optimize("Ofast") // #pragma GCC optimize("O3,no-stack-protector,fast-math,unroll-loops,tree-vectorize") // MLE optimization // #pragma GCC optimize("conserve-stack") // Old judges // #pragma GCC target("sse4.2,popcnt,lzcnt,abm,mmx,fma,bmi,bmi2") // New judges. Test with assert(__builtin_cpu_supports("avx2")); // #pragma GCC target("avx2,popcnt,lzcnt,abm,bmi,bmi2,fma,tune=native") // Atcoder // #pragma GCC target("avx2,popcnt,lzcnt,abm,bmi,bmi2,fma") #include <bits/stdc++.h> using namespace std; // #define int ll #define MAX LLONG_MAX #define st first #define nd second #define endl '\n' #define SZ(x) ((int)x.size()) #define ALL(x) x.begin(), x.end() typedef long long ll; typedef pair< int, int > ii; typedef pair< int, ii > iii; typedef vector< int > vi; typedef vector< ii > vii; typedef vector< iii > viii; typedef vector< vi > vvi; typedef vector< vii > vvii; typedef vector< viii > vviii; int n, q; string s, tmp; int dfs(int state, int i){ // cout << state << ' ' << i << endl; if(i == n) return s[state] - '0'; if(tmp[i] == '0') return dfs(state, i+1); else if(tmp[i] == '1') return dfs(state|(1<<(n-i-1)), i+1); else return dfs(state, i+1) + dfs(state|(1<<(n-i-1)), i+1); } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> q >> s; while(q--){ cin >> tmp; int state = 0; bool ans = false; for(int i=0; i<n; i++){ if(tmp[i] == '0') continue; else if(tmp[i] == '1') state |= (1 << (n - i - 1)); else{ cout << dfs(state, i) << endl; ans = true; break; } } if(!ans) cout << (s[state] - '0') << endl; } }
#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...