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>y;
for(int i=0;i<H;i++){
for(int j=0;j<W;j++){
y.push_back(i*W+j);
}
}
int r=add_xor(y);
vector<int>id,id1,u,v;
for(int i=0;i<H;i++){
vector<int>row;
for(int j=0;j<W;j++){
row.push_back(i*W+j);
}
u.push_back(add_or(row));
}
for(int j=0;j<W;j++){
vector<int>column;
for(int i=0;i<H;i++){
column.push_back(i*W+j);
}
v.push_back(add_or(column));
}
for(int i=0;i<H-K-1;i++){
vector<int>row1,row2;
for(int j=0;j<=i;j++){
row1.push_back(u[j]);
}
for(int j=i+K+1;j<H;j++){
row2.push_back(u[j]);
}
int a=add_or(row1);
int b=add_or(row2);
id.push_back(add_and({a,b}));
}
for(int i=0;i<W-K-1;i++){
vector<int>row1,row2;
for(int j=0;j<=i;j++){
row1.push_back(v[j]);
}
for(int j=i+K+1;j<W;j++){
row2.push_back(v[j]);
}
int a=add_or(row1);
int b=add_or(row2);
id.push_back(add_and({a,b}));
}
for(int i=0;i<K;i++){
for(int j=i;j<=(H+W-2-K);j+=K){
vector<int>v,u;
for(int k=j;k>=0;k--){
if(k<H && (j-k)<W){
v.push_back(k*W+j-k);
}
}
for(int k=j+K;k>=0;k--){
if(k<H && (j-k+K)<W){
u.push_back(k*W+j-k+K);
}
}
int a,b;
if(u.size()) a=add_or(u);
else continue;
if(v.size()) b=add_or(v);
else continue;
id1.push_back(add_and({a,b}));
}
}
for(int i=0;i<K;i++){
for(int j=i;j<=(H+W-2-K);j+=K){
vector<int>v,u;
for(int k=j;k>=0;k--){
if(k<H && (W-j+k-1)>=0){
v.push_back(k*W+W-j+k-1);
}
}
for(int k=j+K;k>=0;k--){
if(k<H && (W-j-K+k-1)>=0){
u.push_back(k*W+W-j+k-K-1);
}
}
int a,b;
if(u.size()) a=add_or(u);
else continue;
if(v.size()) b=add_or(v);
else continue;
id1.push_back(add_and({a,b}));
}
}
int a,b;
if(id.size()!=0){
a=add_or(id);
a=add_not(a);
if(id1.size()!=0){
int b=add_or(id1);
add_and({a,b});
}
else{
add_or({r});
}
}
else{
if(id1.size()!=0){
add_or(id1);
}
else add_or({r});
}
}
Compilation message (stderr)
vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:93:8: warning: unused variable 'b' [-Wunused-variable]
93 | int a,b;
| ^
# | 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... |