Submission #792444

#TimeUsernameProblemLanguageResultExecution timeMemory
792444CookieSnake Escaping (JOI18_snake_escaping)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include<fstream> #pragma GCC optimize("Ofast,O3,unroll-loops") #pragma GCC target("avx2") using namespace std; //ifstream fin("FEEDING.INP"); //ofstream fout("FEEDING.OUT"); #define sz(a) (int)a.size() #define ll long long #define pb push_back #define forr(i, a, b) for(int i = a; i < b; i++) #define dorr(i, a, b) for(int i = a; i >= b; i--) #define ld long double #define vt vector #include<fstream> #define fi first #define se second #define pll pair<ll, ll> #define pii pair<int, int> const ll mxn = 3e5 + 5, base = 972663749; const ll mod = 911382323, mxv = 1e9 + 1, inf = 2e9; int l, q; int big[(1 << 20)], small[(1 << 20)]; string s; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> l >> q; cin >> s; for(int i = 0; i < (1 << l); i++){ big[i] = (s[i] - '0'); small[i] = (s[i] - '0'); } for(int i = 0; i < l; i++){ for(int j = 0; j < (1 << l); j++){ if(j & (1 << i))small[j] += small[j ^ (1 << i)]; else (!(j & (1 << i)))big[j] = big[j ^ (1 << i)]; } } string ss; while(q--){ cin >> ss; int zero = 0, one = 0, que = 0; for(int i = 0; i < l; i++){ if(ss[i] == '0')zero += (1 << (l - i - 1)); else if(ss[i] == '1')one += (1 << (l - i - 1)); else que += (1 << (l - i - 1)); } int ans = 0; if(__builtin_popcount(que) <= 6){ int mask = one; for(int j = que;; j = (j - 1) & que){ //cout << (mask | j) << " "; ans += (s[mask | j] - '0'); if(j == 0)break; } }else if(__builtin_popcount(one) <= 6){ int mask = que; for(int j = one;; j = (j - 1) & one){ if((__builtin_popcount(one) - __builtin_popcount(j)) & 1)ans -= small[mask | j]; else ans += small[mask | j]; if(j == 0)break; } }else{ int mask = one; for(int j = zero;; j = (j - 1) & zero){ if(__builtin_popcount(j) & 1)ans -= big[mask | j]; else ans += big[mask | j]; } } cout << ans << "\n"; } return(0); }

Compilation message (stderr)

snake_escaping.cpp: In function 'int main()':
snake_escaping.cpp:37:35: error: expected ';' before 'big'
   37 |             else (!(j & (1 << i)))big[j] = big[j ^ (1 << i)];
      |                                   ^~~
      |                                   ;