Submission #424849

#TimeUsernameProblemLanguageResultExecution timeMemory
424849donentsetoVision Program (IOI19_vision)C++14
0 / 100
25 ms2072 KiB
#include <bits/stdc++.h> using namespace std; int add_not (int n); int add_and (vector <int> n); int add_or (vector <int> n); int add_xor (vector <int> n); void construct_network (int h, int w, int k){ vector <int> idx, idx1, last; int curr, curr1; for (int i = 0; i < h; i ++){ for (int j = 0; j < w; j ++) idx.push_back (i * w + j); add_or (idx); idx.clear (); } for (int i = 0; i < h; i ++) idx.push_back (h * w + i); idx1.push_back (add_xor (idx)); idx.clear (); for (int i = 0; i < h - k; i ++){ for (int j = 0; j <= k; j ++) idx.push_back (h * w + i + j); add_or (idx); add_xor (idx); curr = add_not (add_xor (idx)); idx1.push_back (add_and ({curr - 2, curr})); idx.clear (); } curr1 = add_or (idx1); last.push_back (curr1); idx1.clear (); for (int i = 0; i < w; i ++){ for (int j = 0; j < h; j ++) idx.push_back (j * w + i); add_or (idx); idx.clear (); } for (int i = 0; i < w; i ++) idx.push_back (curr1 + i); idx1.push_back (add_xor (idx)); idx.clear (); for (int i = 0; i < w - k; i ++){ for (int j = 0; j <= k; j ++) idx.push_back (curr1 + i + j); add_or (idx); add_xor (idx); curr = add_not (add_xor (idx)); idx1.push_back (add_and ({curr - 2, curr})); idx.clear (); } curr1 = add_or (idx1); last.push_back (curr1); idx1.clear (); for (int i = 1 - w; i < h; i ++){ for (int j = 0; j < h; j ++) if (j - i >= 0 && j - i < w) idx.push_back (j * w + j - i); add_or (idx); idx.clear (); } int n = h + w - 1; for (int i = 0; i < n - k; i ++){ idx1.push_back (add_and ({curr1 + i, curr1 + i + k})); } curr1 = add_or (idx1); idx1.clear (); for (int i = 0; i < n; i ++){ for (int j = 0; j < h; j ++) if (i - j >= 0 && i - j < w) idx.push_back (j * w + i - j); add_or (idx); idx.clear (); } for (int i = 0; i < n - k; i ++){ idx1.push_back (add_and ({curr1 + i, curr1 + i + k})); } last.push_back (add_or ({curr1, add_or (idx1)})); add_and (last); }
#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...