Submission #153063

#TimeUsernameProblemLanguageResultExecution timeMemory
153063oolimryVision Program (IOI19_vision)C++14
12 / 100
17 ms1784 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { map<int, vector<int> > a; ///down left (/) map<int, vector<int> > b; ///down right (\) for(int r = 0;r < H;r++){ for(int c = 0;c < W;c++){ a[r+c].push_back(r * W + c); b[r-c].push_back(r * W + c); } } int s = a.size(); int cnt = H*W; for(map<int, vector<int> >::iterator it = a.begin();it != a.end();it++){ //cout << it->first << ": "; //for(int x : it->second){ // cout << x << " "; //} //cout << "\n"; add_or(it->second); cnt++; } for(map<int, vector<int> >::iterator it = b.begin();it != b.end();it++){ //cout << it->first << ": "; //for(int x : it->second){ // cout << x << " "; //} //cout << "\n"; add_or(it->second); cnt++; } for(int i = 0;i < s - K;i++){ vector<int> Ns = {H*W+i,H*W+i+K}; add_and(Ns); cnt++; } for(int i = 0;i < s - K;i++){ vector<int> Ns = {H*W+i+s,H*W+i+K+s}; add_and(Ns); cnt++; } vector<int> Ns; for(int i = H*W+2*s;i < cnt;i++){ Ns.push_back(i); } add_or(Ns); }
#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...