Submission #1202715

#TimeUsernameProblemLanguageResultExecution timeMemory
1202715cpdreamerVision Program (IOI19_vision)C++20
0 / 100
5 ms1092 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
#define V vector
#define pb push_back
int h,w;
int cell(int i,int j){
    return w*i+j;
}
int f(int k){
    return h*w+k-1;
}
V<int>pos;
void construct_network(int H, int W, int K) {
    h=H,w=W;
    for(int i=0;i<H;i++){
        V<int>vp;
        for(int j=0;j<W;j++){
            vp.pb(cell(i,j));
        }
        add_or(vp);
    }
    for(int i=0;i<W;i++){
        V<int>vp;
        for(int j=0;j<H;j++){
            vp.pb(cell(j,i));
        }
        add_or(vp);
    }
    for(int i=0;i<K;i++){
        V<int>vp;
        int row=-1,col=-1;
        for(int j=1;j+i<=H;j++){
            int x=add_and({f(j),f(j+i)});
            vp.pb(x);
        }
        if(vp.empty()){
            continue;
        }
        row=add_or(vp);
        vp.clear();
        for(int j=1;j+K-i<=W;j++){
            int x=add_and({f(H+j),f(H+j+K-i)});
            vp.pb(x);
        }
        if(vp.empty()){
            continue;
        }
        col=add_or(vp);
        int y=add_and({col,row});
        pos.pb(y);
    }
    if(!pos.empty()) {
        add_or(pos);
    }
    else{
        int x=add_not(0);
        int y=add_xor({0,x});
        add_not(y);
    }
}
#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...