#include <bits/stdc++.h>
#include "vision.h"
using namespace std;
void construct_network(int h, int w, int k) {
int n=h*w;
vector<int> nots(n);
for (int i=0;i<n;i++) {
nots[i]=add_not(i);
}
vector<int> outputs;
for (int i=0;i<n;i++) {
for (int j=i+1;j<n;j++) {
int r1=i/w, c1=i%w;
int r2=j/w, c2=j%w;
int d=abs(r1-r2)+abs(c1-c2);
if (d==k) {
vector<int> inputs;
inputs.push_back(i);
inputs.push_back(j);
for (int k=0;k<n;k++) {
if (k==i||k==j) continue;
inputs.push_back(nots[k]);
}
int and_gate=add_and(inputs);
outputs.push_back(and_gate);
}
}
}
if (outputs.empty()) {
vector<int> inputs_zero;
inputs_zero.push_back(0);
inputs_zero.push_back(nots[0]);
add_and(inputs_zero);
} else {
add_or(outputs);
}
}
# | 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... |