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 <vector>
using namespace std;
#define pb push_back
#define a add_and
#define o add_or
int C(int H,int W,int K){
vector<int> M[450],O[450],P,Q,R,S,T;
for(int i = 0; i < H*W; i++){
M[i/W+int(i%W)].pb(i);
O[i/W-int(i%W)+W-1].pb(i); }
for(int d=0;d<=H+W-2;d++){
P.pb(o(M[d]));
Q.pb(o(P));
R.pb(o(O[d]));
S.pb(o(R));
if(d-K >= 0){
T.pb(a({P[d], Q[d-K]}));
T.pb(a({R[d], S[d-K]}));}}
return o(T);}
void construct_network(int H, int W, int K){
if(K==H+W-2)C(H, W, K);
else add_xor({C(H, W, K),C(H, W, K+1)});}
# | 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... |