Submission #1207455

#TimeUsernameProblemLanguageResultExecution timeMemory
1207455AvianshVision Program (IOI19_vision)C++20
33 / 100
3 ms1476 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int h, int w, int k) { //std::vector<int> Ns; //Ns = {0, 1}; //int a = add_and(Ns); //Ns = {0, a}; //int b = add_or(Ns); //Ns = {0, 1, b}; //int c = add_xor(Ns); //add_not(c); auto conv = [&] (int i, int j){ return i*w+j; }; int cn = 0; set<array<int,2>>s; for(int i = 0;i<h;i++){ for(int j = 0;j<w;j++){ for(int ai = 0;ai<=k;ai++){ int ci = i+ai; int ji = j+(k-ai); if(ci>=h||ji>=w||ci<0||ji<0){ continue; } int initi = conv(i,j); int fini = conv(ci,ji); if(s.find({initi,fini})!=s.end()||s.find({fini,initi})!=s.end()) continue; add_and({initi,fini}); s.insert({initi,fini}); cn++; } for(int ai = 0;ai<=k;ai++){ int ci = i-ai; int ji = j+(k-ai); if(ci>=h||ji>=w||ci<0||ji<0){ continue; } int initi = conv(i,j); int fini = conv(ci,ji); if(s.find({initi,fini})!=s.end()||s.find({fini,initi})!=s.end()) continue; add_and({initi,fini}); s.insert({initi,fini}); cn++; } } } vector<int>quer; for(int i = 0;i<cn;i++) quer.push_back(i+h*w); add_or(quer); }
#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...