Submission #262886

#TimeUsernameProblemLanguageResultExecution timeMemory
262886alexandra_udristoiuVision Program (IOI19_vision)C++14
26 / 100
15 ms1664 KiB
#include<iostream> #include<vector> #include "vision.h" using namespace std; static int diag[405]; static vector<int> v, w; static void solve(int &r1, int &r2, int nr, int k){ int i, x, aux, j, y; for(i = 1; i <= nr - k; i++){ v.push_back(diag[i]); v.push_back(diag[i + k]); x = add_and(v); w.push_back(x); v.clear(); } r2 = add_or(w); w.clear(); for(i = 1; i <= k; i++){ v.push_back(diag[i]); } aux = add_xor(v); v.clear(); for(i = 1; i <= nr - k; i++){ for(j = i; j <= i + k; j++){ v.push_back(diag[j]); } y = add_xor(v); y = add_not(y); x = add_or(v); v.clear(); v.push_back(x); v.push_back(y); w.push_back( add_and(v) ); v.clear(); } r1 = add_or(w); w.clear(); v.push_back(r1); v.push_back(aux); r1 = add_or(v); v.clear(); } void construct_network(int n, int m, int k) { int i, j, ii, jj, nr, r1, r2, r3, r4; nr = 0; for(i = n - 1; i > 0; i--){ ii = i; jj = 0; while(ii < n && jj < m){ v.push_back(ii * m + jj); ii++; jj++; } diag[++nr] = add_or(v); v.clear(); } for(j = 0; j < m; j++){ ii = 0; jj = j; while(ii < n && jj < m){ v.push_back(ii * m + jj); ii++; jj++; } diag[++nr] = add_or(v); v.clear(); } solve(r1, r2, nr, k); nr = 0; for(i = n - 1; i > 0; i--){ ii = i; jj = m - 1; while(ii < n && jj >= 0){ v.push_back(ii * m + jj); ii++; jj--; } diag[++nr] = add_or(v); v.clear(); } for(j = m - 1; j >= 0; j--){ ii = 0; jj = j; while(ii < n && jj >= 0){ v.push_back(ii * m + jj); ii++; jj--; } diag[++nr] = add_or(v); v.clear(); } solve(r3, r4, nr, k); v.push_back(r1); v.push_back(r3); r1 = add_and(v); v.clear(); v.push_back(r2); v.push_back(r4); r2 = add_or(v); v.clear(); v.push_back(r1); v.push_back(r2); add_and(v); }
#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...