Submission #1246811

#TimeUsernameProblemLanguageResultExecution timeMemory
1246811eradaxVision Program (IOI19_vision)C++20
44 / 100
155 ms2356 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;

using vi = vector<int>;
using vvi = vector<vi>;

using pi = pair<int, int>;
using vpi = vector<pi>;
using vvpi = vector<vpi>;

#define sz(c) ((int)c.size())

void construct_network(int H, int W, int K) {
    int inst = H * W;

    vi imp;

    for (int i = 0; i < H; i++) {
        for (int j = 0; j < W; j++) {
            vpi checks;
            for (int k = i; k < H; k++) {
                for (int w = 0; w < W; w++) {
                    if (abs(i - k) + abs(j - w) == K)
                        checks.emplace_back(k, w);
                }
            }

            if (checks.empty())
                continue;

            vi check_trans;
            for (auto [x, y] : checks)
                check_trans.push_back(x * W + y);

            add_or(check_trans);
            inst++;
            add_and({i * W +  j, inst - 1});
            inst++;
            imp.push_back(inst - 1);
        }
    }

    add_or(imp);
    inst++;
}
#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...