Submission #500283

#TimeUsernameProblemLanguageResultExecution timeMemory
500283HappyPacManVision Program (IOI19_vision)C++14
0 / 100
9 ms1188 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { vector<int> add; for(int i=0;i<H;i++){ vector<int> line; for(int j=0;j<W;j++){ line.push_back(i*W+j); } if(i > 0) line.push_back(add.back()); add.push_back(add_xor(line)); } for(int i=0;i<W;i++){ vector<int> line; for(int j=0;j<H;j++){ line.push_back(j*W+i); } if(i > 0) line.push_back(add.back()); add.push_back(add_xor(line)); } int ls = 31 - __builtin_clz(K); vector<int> number; for(int i=0;i<=ls;i++){ if(H*W == 2) number.push_back(add_not(0)); else number.push_back(add_and({0,1,2})); } for(int v : add){ for(int i=0;i<=ls;i++){ int temp = number[i]; number[i] = add_xor({v,temp}); v = add_and({v,temp}); } } vector<int> check; for(int i=0;i<=ls;i++){ if(K & (1 << i)) check.push_back(number[i]); else check.push_back(add_not(number[i])); } add_and(check); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...