#include <bits/stdc++.h>
#include "vision.h"
using namespace std;
#define vo vector
#define pb push_back
#define fi first
#define se second
#define all(x) x.begin(), x.end()
typedef vector<signed> vs;
typedef vector<int> vi;
typedef pair<int, int> pii;
#define rep(i, a, b) for(int i=(a); i<(b);i++)
#define repd(i, a, b) for(int i=(b-1); i>=a;i--)
#define pr(x) cerr << #x << " = " << x << endl;
mt19937 mt_rng(chrono::steady_clock::now().time_since_epoch().count());
int rand(int l, int r){
return uniform_int_distribution<int>(l, r)(mt_rng);
}
int const inf = 1e9, mxn = 1e5+5;
int n, m;
void construct_network(int R, int C, int K){
vo<vi> where(R, vi(C, -1));
vo<pii> test;
rep(i, 0, R){
rep(u, 0, C){
test.pb({i, u});
}
}
shuffle(all(test), mt_rng);
int X = 2000;
rep(_, 0, X){
auto [i, u] = test[_];
vi op;
rep(a, 0, R){
rep(b, 0, C){
int d = abs(i-a) + abs(u-b);
if(d==K) op.pb(a*C+b);
}
}
if(op.size()) where[i][u] = add_or(op);
}
vi last;
rep(i, 0, R){
rep(u, 0, C){
if(where[i][u]==-1) continue;
vi op = {i*C+u, where[i][u]};
last.pb(add_and(op));
}
}
add_or(last);
}
/*
1 1 1
*/
# | 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... |