Submission #815448

#TimeUsernameProblemLanguageResultExecution timeMemory
815448PagodePaivaVision Program (IOI19_vision)C++14
44 / 100
46 ms8760 KiB
#include "vision.h" #include<bits/stdc++.h> #define fr first #define sc second #define pii pair <int, int> using namespace std; int dist(pair <int,int>a,pair<int,int>b){ return abs(a.fr-b.fr)+abs(a.sc-b.sc); } set <pair <pii, pii>> s; 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); int n = H, m = W, k = K; int r = n*m; vector <int> auxx; vector <int> aux; for(int i = 0;i < n;i++){ for(int j = 0;j < m;j++){ for(int i1 = 0;i1 < n;i1++){ for(int j1 = j;j1 < m;j1++){ if(dist({i, j}, {i1, j1}) == k){ if(s.find({{i, j}, {i1, j1}}) != s.end() or s.find({{i1, j1}, {i, j}}) != s.end()) continue; s.insert({{i, j}, {i1, j1}}); // r = add_and({i*m+j, i1*m+j1}); auxx.push_back(i1*m+j1); } } } if(auxx.size() == 0) continue; int a1 = add_xor(auxx); auxx.push_back({i*m+j}); int a2 = add_xor(auxx); a2 = add_not(a2); r = add_and({a1, a2}); aux.push_back(r); auxx.clear(); } } // for(auto x : aux) cout << x << " "; add_or(aux); return; }
#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...