이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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]);
for(int j=i;j<=i+K;j++)v.push_back(diag11[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]);
for(int j=i;j<=i+K;j++)v.push_back(diag21[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]);
for(int j=i;j<=i+K-1;j++)v.push_back(diag11[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]);
for(int j=i;j<=i+K-1;j++)v.push_back(diag21[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)});
}
컴파일 시 표준 에러 (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:50:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
50 | for(int i=0;i+K<diag2.size();i++)
| ~~~^~~~~~~~~~~~~
vision.cpp:59:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
59 | for(int i=0;i+K-1<diag1.size();i++)
| ~~~~~^~~~~~~~~~~~~
vision.cpp:66:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
66 | 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... |