#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #include #include #include using namespace std; #include long clock_begin; unsigned long xorshift64_val; void xorshift64_init(){ xorshift64_val = 88172645463325252UL + time(0); } unsigned long xorshift64() { xorshift64_val ^= xorshift64_val << 7; return xorshift64_val ^= xorshift64_val >> 9; } #define N 2048 struct Clause { int a[3]; int p[3]; }; Clause cs[N]; vector aa[256][2]; int score; char best[256]; char curr[256]; vector q; bitset qm; int bb[256][2]; int bbv; void owari(){ dprintf(2,"score=%d\n",score); for(int i=256;i--;){ putchar('0'+best[i]); } exit(0); } void enq(int i){ if(!qm[i]){ qm[i]=1; q.push_back(i); } } int deq(){ int i=q.back(); q.pop_back(); qm[i]=0; return i; } int main(){ clock_begin=clock(); xorshift64_init(); for(int i=0;ibb[ci.a[1]][ci.p[1]]){ j=1; } if(bb[ci.a[j]][ci.p[j]]>bb[ci.a[2]][ci.p[2]]){ j=2; } } int aj=ci.a[j]; int pj=ci.p[j]; bb[aj][pj]=++bbv; curr[aj]=pj; for(int k:aa[aj][1-pj]){ if(k