Submission #1233785

#TimeUsernameProblemLanguageResultExecution timeMemory
1233785jundiVision Program (IOI19_vision)C++20
33 / 100
7 ms4424 KiB
#include <bits/stdc++.h>
#include "vision.h"
using namespace std;

void construct_network(int h, int w, int k) {
    int n=h*w;
    vector<int> nots(n);
    for (int i=0;i<n;i++) {
        nots[i]=add_not(i);
    }

    vector<int> outputs;
    for (int i=0;i<n;i++) {
        for (int j=i+1;j<n;j++) {
            int r1=i/w, c1=i%w;
            int r2=j/w, c2=j%w;
            int d=abs(r1-r2)+abs(c1-c2);
            if (d==k) {
                vector<int> inputs;
                inputs.push_back(i);
                inputs.push_back(j);
                for (int k=0;k<n;k++) {
                    if (k==i||k==j) continue;
                    inputs.push_back(nots[k]);
                }
                int and_gate=add_and(inputs);
                outputs.push_back(and_gate);
            }
        }
    }

    if (outputs.empty()) {
        vector<int> inputs_zero;
        inputs_zero.push_back(0);
        inputs_zero.push_back(nots[0]);
        add_and(inputs_zero);
    } else {
        add_or(outputs);
    }
}
#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...