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>table;
for(int i=0;i<H*W;i++)table.push_back(i);
vector<int>diag1,diag2,diag11,diag21;
for(int s=0;s<H+W-1;s++)
{
vector<int>v;
for(int i=0;i<H;i++)
{
for(int j=0;j<W;j++)
{
if(i+j==s)v.push_back(i*W+j);
}
}
if(v.size()!=0)
{
diag1.push_back(add_or(v));
diag11.push_back(add_and({diag1.back(),add_not(add_xor(v))}));
}
}
for(int s=-(W-1);s<H;s++)
{
vector<int>v;
for(int i=0;i<H;i++)
{
for(int j=0;j<W;j++)
{
if(i-j==s)v.push_back(i*W+j);
}
}
if(v.size()!=0)
{
diag2.push_back(add_or(v));
diag21.push_back(add_and({diag2.back(),add_not(add_xor(v))}));
}
}
int f1,f2;
vector<int>v1,v2;
for(int i=0;i+K<diag1.size();i++)
{
vector<int>v;
for(int j=i;j<=i+K;j++)v.push_back(diag1[j]);
v1.push_back(add_and({add_not(add_xor(v)),add_or(v)}));
}
for(int i=0;i+K<diag2.size();i++)
{
vector<int>v;
for(int j=i;j<=i+K;j++)v.push_back(diag2[j]);
v2.push_back(add_and({add_not(add_xor(v)),add_or(v)}));
}
f1=add_and({add_or(v1),add_or(v2)});
v1.clear();v2.clear();
for(int i=0;i+K-1<diag1.size();i++)
{
vector<int>v;
for(int j=i;j<=i+K-1;j++)v.push_back(diag1[j]);
v1.push_back(add_and({add_not(add_xor(v)),add_or(v)}));
}
for(int i=0;i+K-1<diag2.size();i++)
{
vector<int>v;
for(int j=i;j<=i+K-1;j++)v.push_back(diag2[j]);
v2.push_back(add_and({add_not(add_xor(v)),add_or(v)}));
}
f2=add_and({add_or(v1),add_or(v2)});
add_and({f1,add_not(f2)});
}
Compilation message (stderr)
vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:43:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
43 | for(int i=0;i+K<diag1.size();i++)
| ~~~^~~~~~~~~~~~~
vision.cpp:49:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
49 | for(int i=0;i+K<diag2.size();i++)
| ~~~^~~~~~~~~~~~~
vision.cpp:57:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
57 | for(int i=0;i+K-1<diag1.size();i++)
| ~~~~~^~~~~~~~~~~~~
vision.cpp:63:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
63 | for(int i=0;i+K-1<diag2.size();i++)
| ~~~~~^~~~~~~~~~~~~
# | 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... |