Submission #713079

#TimeUsernameProblemLanguageResultExecution timeMemory
713079lamUnscrambling a Messy Bug (IOI16_messy)C++17
Compilation error
0 ms0 KiB
#include <vector> #define ll long long #include "messy.h" using namespace std; inline bool checkbit(ll i, int j) { return i>>j&1; } inline string tostring(ll x, int n) { string s=""; for (int i=0; i<n; i++) { if (x%2LL==0) s+='0'; else s+='1'; x/=2LL; } return s; } vector<int32_t> restore_permutation(int32_t n, int32_t w, int32_t r) { string s=""; for (int i=0; i<n; i++) s+='0'; for (int i=n-1; i>=1; i--) { s[i] = '1'; add_element(s); } compile_set(); vector <int32_t> res(n); ll mask = 0LL; for (int it=0; it<n-1; it++) { vector <int> tmp; for (int j=0; j<n; j++) if (!checkbit(mask,j)) tmp.push_back(j); random_shuffle(tmp.begin(),tmp.end()); for (int j:tmp) { mask^=(1LL<<j); bool check = check_element(tostring(mask,n)); if (!check) { mask^=(1LL<<j); continue; } for (int j=0; j<n; j++) if (checkbit(mask,j)) res[j]++; break; } } return res; }

Compilation message (stderr)

messy.cpp: In function 'std::vector<int> restore_permutation(int32_t, int32_t, int32_t)':
messy.cpp:34:9: error: 'random_shuffle' was not declared in this scope
   34 |         random_shuffle(tmp.begin(),tmp.end());
      |         ^~~~~~~~~~~~~~