This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
void construct_network(int h, int w, int k) {
vector <int> linha;
for(int i = 0;i < h;i++){
vector <int> v;
for(int j = 0;j < w;j++){
v.push_back(i*w+j);
}
linha.push_back(add_xor(v));
}
vector <int> coluna;
for(int j = 0;j < w;j++){
vector <int> v;
for(int i = 0;i < h;i++){
v.push_back(i*w+j);
}
coluna.push_back(add_xor(v));
}
int l = add_not(add_or(linha));
int c = add_not(add_or(coluna));
vector <int> aux;
for(int i = 0;i < w-1;i++){
aux.push_back(add_and({coluna[i], coluna[i+1]}));
}
int ll = (aux.size() == 0 ? -1 : add_or(aux));
aux.clear();
for(int i = 0;i < h-1;i++){
aux.push_back(add_and({linha[i], linha[i+1]}));
}
int cc = (aux.size() == 0 ? -1 : add_or(aux));
if(ll == -1) add_and({c, cc});
else if(cc == -1) add_and({l, ll});
else add_or({add_and({l, ll}), add_and({c, cc})});
return;
}
# | 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... |