This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "vision.h"
#include <bits/stdc++.h>
#define pii pair<int,int>
#define x first
#define y second
#define MAXN 205
using namespace std;
int n,m,k;
vector<int>ad[2*MAXN],ms[2*MAXN],hs,Ws;
vector<int>q[2];
void construct_network(int H, int W, int K) {
n=H; m=W; k=K;
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
ad[i+j].push_back(i*m+j);
ms[i-j+m-1].push_back(i*m+j);
}
}
int now=n*m-1;
for (int i=0;i<=n+m-2;i++){
vector<int>qus;
if (i+k<=n+m-2){
for (auto j:ad[i]) qus.push_back(j);
for (auto j:ad[i+k]) qus.push_back(j);
add_or(qus); now++;
qus.push_back(now);
add_xor(qus); now++;
q[0].push_back(now);
}
}
for (int i=0;i<=n+m-2;i++){
vector<int>qus;
if (i+k<=n+m-2){
for (auto j:ms[i]) qus.push_back(j);
for (auto j:ms[i+k]) qus.push_back(j);
add_or(qus); now++;
qus.push_back(now);
add_xor(qus); now++;
q[1].push_back(now);
}
}
for (int i=0;i<n;i++){
vector<int>qus;
for (int j=i;j<min(n,i+k+1);j++){
for (int l=0;l<m;l++)
qus.push_back(j*m+l);
}
add_or(qus); now++;
qus.push_back(now);
add_xor(qus); now++;
hs.push_back(now);
}
for (int i=0;i<m;i++){
vector<int>qus;
for (int j=i;j<min(m,i+k+1);j++)
for (int l=0;l<n;l++)
qus.push_back(l*m+j);
add_or(qus); now++;
qus.push_back(now);
add_xor(qus); now++;
Ws.push_back(now);
}
vector<int>qus;
for (auto i:q[0])
qus.push_back(i);
for (auto i:q[1])
qus.push_back(i);
add_or(qus); now++;
int have=now;
qus.clear(); qus.push_back(have);
add_or(hs); now++;
qus.push_back(now);
add_or(Ws); now++;
qus.push_back(now);
add_and(qus);
}
# | 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... |