Submission #424927

#TimeUsernameProblemLanguageResultExecution timeMemory
424927madlogicVision Program (IOI19_vision)C++17
0 / 100
2 ms1096 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; // int cur; // int add_xor(vector<int> v) { // cout << "XOR" << endl; // for (int p : v) { // cout << p << ' '; // } // cout << '\n'; // return ++cur; // } // int add_or(vector<int> v) { // cout << "OR" << endl; // for (int p : v) { // cout << p << " "; // } // cout << '\n'; // return ++cur; // } // int add_and(vector<int> v) { // cout << "AND" << endl; // for (int p : v) { // cout << p << ' '; // } // cout << '\n'; // return ++cur; // } void construct_network(int H, int W, int K) { vector<int> v; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { if (!(i == 0 && j == 0)) { v.push_back(add_and({0, i * W + j})); } } } if (!v.empty()) { add_or(v); } // cur = (H - 1) * W + (W - 1); // if (K == 1) { // vector<int> indsRow; // for (int i = 0; i < H; i++) { // vector<int> idx; // for (int j = 0; j < W; j++) { // idx.push_back(i * W + j); // } // indsRow.push_back(add_xor(idx)); // } // vector<int> indsCol; // for (int i = 0; i < W; i++) { // vector<int> idx; // for (int j = 0; j < H; j++) { // idx.push_back(j * W + i); // } // indsCol.push_back(add_xor(idx)); // } // int id1 = add_xor(indsRow); // int id2 = add_xor(indsCol); // int nn = (int) indsRow.size(); // vector<int> aa; // for (int i = 0; i + 1 < nn; i++) { // aa.push_back(add_xor({indsRow[i], indsRow[i + 1]})); // } // int mm = (int) indsCol.size(); // vector<int> bb; // for (int i = 0; i + 1 < mm; i++) { // bb.push_back(add_xor({indsCol[i], indsCol[i + 1]})); // } // int id3 = add_xor(aa); // int id4 = add_xor(bb); // add_or({add_xor({id1, id4}), add_xor({id2, id3})}); // if (1ll * H * W >= 1000) { // } else { // vector<vector<vector<int>>> dp(3, vector<vector<int>>(H, vector<int>(W, -1))); // for (int i = 0; i < H; i++) { // for (int j = 0; j < W; j++) { // vector<int> v{i * W + j}; // for (int x = 0; x <= K; x++) { // int y = K - x; // set<int> s; // s.insert(y); // s.insert(-y); // for (int ys : s) { // int dx = i + x; // int dy = j + ys; // if (dx >= 0 && dx < H && dy >= 0 && dy < W) { // int yy = dx * W + dy; // v.push_back(yy); // } // } // } // dp[0][i][j] = add_xor(v); // dp[1][i][j] = add_or(v); // reverse(v.begin(), v.end()); // v.pop_back(); // if (!v.empty()) { // dp[2][i][j] = add_xor(v); // } // } // } // vector<int> v; // for (int i = 0; i < H; i++) { // for (int j = 0; j < W; j++) { // int a = dp[0][i][j]; // int b = dp[1][i][j]; // if (dp[2][i][j] != -1) { // int id1 = add_xor({a, b}); // int idx = add_and({id1, dp[2][i][j]}); // v.push_back(idx); // } // } // } // if (!v.empty()) { // add_or(v); // } else { // add_and({0, 1}); // } // } } // int main() { // ios::sync_with_stdio(false); // cin.tie(0); // construct_network(3, 3, 2); // return 0; // }
#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...