#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
int H, W, K;
int dist(int a, int b) {
return abs((a % W) - (b % W)) + abs((a / W) - (b / W));
}
void construct_network(int _H, int _W, int _K) {
H = _H, W = _W, K = _K;
vector<int> squares(W * H);
for (int i = 0; i < W * H; i++)
squares[i] = i;
std::random_device rd;
std::mt19937 g(rd());
shuffle(squares.begin(), squares.end(), g);
vector<int> checks;
int instr = H * W;
for (int i : squares) {
if (instr + 2 > 10000)
break;
vector<int> nodes;
for (int j = 0; j < W * H; j++)
if (dist(i, j) == K)
nodes.push_back(j);
if (!nodes.size())
continue;
add_or(nodes);
add_and({instr, i});
checks.push_back(instr + 1);
instr += 2;
}
add_or(checks);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |