이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "vision.h"
#include<vector>
using namespace std;
using V=std::vector<int>;
int F,T,KK;
int adder(int x,int c)
{
for(int i=0;i<9;++i)
{
add_xor(V{x+2*i,c});
c=add_and(V{x+2*i,c});
}
return c-17;
}
int alloc()
{
int c=add_not(F)+1;
for(int i=0;i<18;++i)
add_not(T);
return c;
}
void construct_network(int H, int W, int K)
{
add_not(0);
F=add_and(V{0,H*W});
T=add_not(F);
KK=alloc();
int run=alloc();
for(int i=0;i<H;++i)
{
V e;
for(int j=0;j<W;++j)e.push_back(i*W+j);
int rr=add_xor(e);
run=add_xor(V{run,rr});
KK=adder(KK,run);
}
for(int i=0;i<W;++i)
{
V e;
for(int j=0;j<H;++j)e.push_back(j*W+i);
int rr=add_xor(e);
run=add_xor(V{run,rr});
KK=adder(KK,run);
}
V ans;
for(int i=0;i<9;++i)
ans.push_back(add_not(add_xor(V{KK+2*i,(K&(1<<i))?T:F})));
add_and(ans);
}
# | 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... |