Submission #1048278

#TimeUsernameProblemLanguageResultExecution timeMemory
1048278mychecksedadVision Program (IOI19_vision)C++17
14 / 100
4 ms1116 KiB
#include "vision.h" #include<bits/stdc++.h> using namespace std; #define ll long long int #define pb push_back #define vi vector<int> int n, m; int last; vector<int> D; int c(int x, int y){ return x * m + y; } void construct_network(int H, int W, int K) { n = H, m = W; last = n*m; if(K > 1){ vector<int> rows; for(int i = 0; i < n; ++i){ vector<int> L; for(int j = 0; j < m; ++j) L.pb(c(i, j)); rows.pb(add_or(L)); } vector<int> cols; for(int j = 0; j < m; ++j){ vector<int> L; for(int i = 0; i < n; ++i) L.pb(c(i, j)); cols.pb(add_or(L)); } vector<int> L; for(int difrow = 0; difrow <= K; ++difrow){ int difcol = K - difrow; for(int i = 0; i + difrow < n; ++i){ for(int j = 0; j + difcol < m; ++j){ L.pb(add_and({rows[i], cols[j]})); } } } add_or(L); }else{ vector<int> rows; for(int i = 0; i < n; ++i){ vector<int> L; for(int j = 0; j < m; ++j) L.pb(c(i, j)); rows.pb(add_or(L)); } vector<int> cols; for(int j = 0; j < m; ++j){ vector<int> L; for(int i = 0; i < n; ++i) L.pb(c(i, j)); cols.pb(add_or(L)); } int xo1 = add_xor(rows); int xo2 = add_xor(cols); int xo3 = add_xor({xo1, xo2}); vector<int> L; for(int j = 0; j + 1 < n; ++j){ L.pb(add_and({rows[j], rows[j + 1]})); } for(int j = 0; j + 1 < m; ++j){ L.pb(add_and({cols[j], cols[j + 1]})); } int last = add_or(L); add_and({last, xo3}); } }
#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...