이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include "vision.h"
using namespace std;
void construct_network(int H, int W, int K){
vector<int> b;
b.push_back(0);
b.push_back(1);
if(H*W>2)
b.push_back(2);
int l=add_and(b);
b.pop_back();
b.pop_back();
if(b.size())
b.pop_back();
b.push_back(l);
if(H*W==2){
if(K==1)
return;
else
l=add_not(0);
return;
}
if(min(H,W)==1){
for(int i=0;i<H*W-K;i++){
vector<int> ans;
ans.push_back(i);
ans.push_back(i+K);
l=add_and(ans);
ans.pop_back();
ans.pop_back();
ans.push_back(l-1);
ans.push_back(l);
l=add_or(ans);
}
return;
}
if(K==1){
for(int i=0;i<H*W-1;i+=2){
vector<int> ans;
ans.push_back(i);
l=add_or(ans);
ans.pop_back();
if(i<W-1)
ans.push_back(i+1);
if(i<H-1)
ans.push_back(i+W);
l=add_or(ans);
while(ans.size())
ans.pop_back();
ans.push_back(l);
ans.push_back(l-1);
l=add_and(ans);
ans[0]++;
ans[1]--;
l=add_or(ans);
}
return;
}
else{
vector<int> ans;
for(int i=1;i<H*W;i++){
if((i%W)+(i/W)==K){
ans.push_back(i);
}
}
l=add_or(ans);
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... |