제출 #423874

#제출 시각아이디문제언어결과실행 시간메모리
423874aymanrsVision Program (IOI19_vision)C++14
14 / 100
21 ms1868 KiB
#include <bits/stdc++.h> 
#include "vision.h"
using namespace std;
void construct_network(int H, int W, int K){
    vector<int> ow, xw, ad, oc, xc;
    int f = -1, l = -1;
    for(int i = 0;i < H;i++){
        vector<int> o;
        for(int j = 0;j < W;j++){
            o.push_back(i * W + j);
        }
        ow.push_back(add_or(o));
        xw.push_back(add_xor(o));
    }
    for(int j = 0;j < W;j++){
        vector<int> o;
        for(int i = 0;i < H;i++){
            o.push_back(i * W + j);
        }
        oc.push_back(add_or(o));
        xc.push_back(add_xor(o));
    }
    if(H == 1) goto noH;
    for(int i = 0;i < H-1;i++){
        ad.push_back(add_and({ow[i], ow[i+1]}));
    }
    f = add_and({add_not(add_or(xc)), add_or(ad)});
    ad.clear();
    noH:
    if(W == 1) goto noW;
    for(int i = 0;i < W-1;i++){
        ad.push_back(add_and({oc[i], oc[i+1]}));
    }
    l = add_and({add_not(add_or(xw)), add_or(ad)});
    noW:
    if(l == -1) add_or({f});
    else if(f == -1) add_or({l});
    else add_or({f, l});
}
#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...