Submission #1185442

#TimeUsernameProblemLanguageResultExecution timeMemory
1185442anmattroiVision Program (IOI19_vision)C++17
14 / 100
5 ms1092 KiB
#include "vision.h"
#include <bits/stdc++.h>

using namespace std;

//add_and
//add_or
//add_xor
//add_not

vector<int> operator + (vector<int> a, vector<int> b) {
    vector<int> ans(a.begin(), a.end());
    for (int i : b) ans.emplace_back(i);
    return ans;
}

void construct_network(int H, int W, int K) {
    vector<int> A, B;
    if (1) {
        for (int i = 0; i < H; i++) {
            vector<int> nho;
            for (int j = 0; j < W; j++) nho.emplace_back(i*W+j);
            A.emplace_back(add_or(nho));
        }
    }
    if (1) {
        for (int j = 0; j < W; j++) {
            vector<int> nho;
            for (int i = 0; i < H; i++) nho.emplace_back(i*W+j);
            B.emplace_back(add_or(nho));
        }
    }

    if (A.size() == 1) {
        vector<int> C;
        for (int i = 1; i < B.size(); i++) C.emplace_back(add_and({B[i], B[i-1]}));
        add_or(C);
        return;
    }
    if (B.size() == 1) {
        vector<int> C;
        for (int i = 1; i < A.size(); i++) C.emplace_back(add_and({A[i], A[i-1]}));
        add_or(C);
        return;
    }
    int T = add_xor(A + B);
    int O, Q;
    if (1) {
        vector<int> C;
        for (int i = 1; i < B.size(); i++) C.emplace_back(add_and({B[i], B[i-1]}));
        O = add_or(C);
    }
    if (1) {
        vector<int> C;
        for (int i = 1; i < A.size(); i++) C.emplace_back(add_and({A[i], A[i-1]}));
        Q = add_or(C);
    }
    int P = add_xor({O, Q});
    add_and({P, T});
}

#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...