Submission #579212

#TimeUsernameProblemLanguageResultExecution timeMemory
579212SlavicGVision Program (IOI19_vision)C++17
100 / 100
16 ms1676 KiB
#include "vector"
#include "vision.h"
#define P push_back
void construct_network(int H, int W, int K) {
    int i,j,N,l;
    std::vector <int> b,v,h,r;
    for(i=0;i<H;i++){
        for(j=0;j<W;)v.P(i*W+j++);
        b.P(add_xor(v));
        v={b.back()};
    }
    for(j=0;j<W;j++){
        for(i=0;i<H;)v.P(i++*W+j);
        b.P(add_xor(v));
        v = {b.back()};
    }
    l=v[0];
    for(i=0;i<9;i++){
        r.P(add_xor(b));
        if(K>>i&1)r[i]=add_not(r[i]);
        N=l,h.clear();
        for(int i:b)h.P(add_and({N,i})),N=add_xor({N,i});
        b=h;
    }
    add_not(add_or(r));
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...