# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
993926 | 2024-06-06T20:39:43 Z | Lib | Magic Show (APIO24_show) | C++17 | 0 ms | 0 KB |
#include <bits/stdc++.h> #include "Alice.h" using namespace std; int toggled[500]; int perm1[10000]; int perm2[10000]; long long x; long long len=4801; vector<pair <int,int>> Alice(){ setN(x); x^=463222221001217544; int toggledcnt=0; for(int i=0;i<=60;i++){ if(x >> i & 1){ toggled[i]=1; toggledcnt++; } } for(int i=1;i<=4801;i++){ perm1[i]=-1; } //initialize the 1st perm; for(int i=0;i<=60;i++){ if(toggled[i]){ for(int k=1;k<=17;k++){ perm1[i*17+k]=i; } } } srand(123190); for(int i=1;i<=len-1-toggledcnt*17;i++){ swap(perm1[i],perm1[rand()%(len-i-toggledcnt*17)+i]); } }