Submission #823856

#TimeUsernameProblemLanguageResultExecution timeMemory
823856ZHIRDILBILDIZVision Program (IOI19_vision)C++14
0 / 100
8 ms1616 KiB
#include<bits/stdc++.h> #include "vision.h" using namespace std ; void construct_network(int n, int m, int k) { if(k == 1) { int ls_or = n * m ; for(int x1 = 0 ; x1 < n ; x1++) for(int y1 = 0 ; y1 < m ; y1++) { set<int> s ; vector<int> v ; for(int q = -k ; q <= k ; q++) { int x2 = x1 + q, y2 = y1 + k - abs(q), y3 = y1 - k + abs(q) ; if(x2 < n && y2 < m && x2 >= 0 && y2 >= 0) s.insert(x2 * m + y2) ; if(x2 < n && y3 < m && x2 >= 0 && y3 >= 0) s.insert(x2 * m + y3) ; } if(s.size()) { for(int i : s) v.push_back(i) ; add_or(v) ; v.clear() ; v.push_back(ls_or) ; v.push_back(x1 * m + y1) ; if(add_and(v)) return ; ls_or += 2 ; } } } int ls_or = n * m ; for(int x1 = 0 ; x1 < n ; x1++) for(int y1 = 0 ; y1 < m ; y1++) { vector<int> v ; for(int q = -k ; q <= k ; q++) { int x2 = x1 + q, y2 = y1 + k - abs(q) ; if(x2 < n && y2 < m && x2 >= 0 && y2 >= 0) v.push_back(x2 * m + y2) ; } if(v.size()) { add_or(v) ; v.clear() ; v.push_back(ls_or) ; v.push_back(x1 * m + y1) ; add_and(v) ; ls_or += 2 ; } } vector<int> abu ; for(int i = n * m + 1 ; i < ls_or ; i += 2) abu.push_back(i) ; add_or(abu) ; }
#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...