#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
//add_and
//add_or
//add_xor
//add_not
vector<int> operator + (vector<int> a, vector<int> b) {
vector<int> ans(a.begin(), a.end());
for (int i : b) ans.emplace_back(i);
return ans;
}
void construct_network(int H, int W, int K) {
vector<int> A, B;
if (1) {
for (int i = 0; i < H; i++) {
vector<int> nho;
for (int j = 0; j < W; j++) nho.emplace_back(i*W+j);
A.emplace_back(add_or(nho));
}
}
if (1) {
for (int j = 0; j < W; j++) {
vector<int> nho;
for (int i = 0; i < H; i++) nho.emplace_back(i*W+j);
B.emplace_back(add_or(nho));
}
}
if (A.size() == 1) {
vector<int> C;
for (int i = 1; i < B.size(); i++) C.emplace_back(add_and({B[i], B[i-1]}));
add_or(C);
return;
}
if (B.size() == 1) {
vector<int> C;
for (int i = 1; i < A.size(); i++) C.emplace_back(add_and({A[i], A[i-1]}));
add_or(C);
return;
}
int T = add_xor(A + B);
int O, Q;
if (1) {
vector<int> C;
for (int i = 1; i < B.size(); i++) C.emplace_back(add_and({B[i], B[i-1]}));
O = add_or(C);
}
if (1) {
vector<int> C;
for (int i = 1; i < A.size(); i++) C.emplace_back(add_and({A[i], A[i-1]}));
Q = add_or(C);
}
int P = add_xor({O, Q});
add_and({P, T});
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |