Submission #306170

#TimeUsernameProblemLanguageResultExecution timeMemory
306170hhh07Vision Program (IOI19_vision)C++14
100 / 100
91 ms8436 KiB
#include <iostream> #include <vector> #include <cmath> #include <queue> #include "vision.h" using namespace std; void construct_network(int h, int w, int k){ vector<int> left[500], right[500]; for (int i = 0; i < h; i++){ for (int j = 0; j < w; j++){ left[i + j].push_back(i*w + j); right[j - i + h - 1].push_back(i*w + j); } } int l1[500], l2[500], r1[500], r2[500]; for (int i = 0; i < h + w - 1; i++){ l1[i] = add_or(left[i]); r1[i] = add_or(right[i]); l2[i] = add_xor({add_xor(left[i]), add_or(left[i])}); r2[i] = add_xor({add_xor(right[i]), add_or(right[i])}); } vector<int> l, r; for (int i = 0; i + k < h + w - 1; i++){ vector<int> twos, ones; for (int j = i; j <= i + k; j++){ twos.push_back(l2[j]); ones.push_back(l1[j]); } twos.push_back(add_xor({add_xor(ones), add_or(ones)})); l.push_back(add_or(twos)); } for (int i = 0; i + k < h + w; i++){ vector<int> twos, ones; for (int j = i; j <= i + k; j++){ twos.push_back(r2[j]); ones.push_back(r1[j]); } twos.push_back(add_xor({add_xor(ones), add_or(ones)})); r.push_back(add_or(twos)); } k--; int moze_kplusjedan = add_and({add_or(l), add_or(r)}); l.clear(); r.clear(); for (int i = 0; i + k < h + w - 1; i++){ vector<int> twos, ones; for (int j = i; j <= i + k; j++){ twos.push_back(l2[j]); ones.push_back(l1[j]); } twos.push_back(add_xor({add_xor(ones), add_or(ones)})); l.push_back(add_or(twos)); } for (int i = 0; i + k < h + w - 1; i++){ vector<int> twos, ones; for (int j = i; j <= i + k; j++){ twos.push_back(r2[j]); ones.push_back(r1[j]); } twos.push_back(add_xor({add_xor(ones), add_or(ones)})); r.push_back(add_or(twos)); } int moze_k = add_and({add_or(l), add_or(r)}); int rj = add_and({moze_kplusjedan, add_not(moze_k)}); return; }

Compilation message (stderr)

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:71:9: warning: unused variable 'rj' [-Wunused-variable]
   71 |     int rj = add_and({moze_kplusjedan, add_not(moze_k)});
      |         ^~
#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...