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>
using namespace std;
const int mxn=2e3;
int say,color[mxn][mxn];
int dis(int r1,int c1,int r2,int c2){
return abs(r1-r2)+abs(c1-c2);
}
void check(int x,int y,int n,int m,int k){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(dis(x,y,i,j)==k&&!color[x*m+y][i*m+j]){
add_and({x*m+y,i*m+j});
color[x*m+y][i*m+j]=1;
color[i*m+j][x*m+y]=1;
say++;
}
}
}
}
void task(int n,int m,int k){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(dis(0,0,i,j)==k){
add_and({0,i*m+j});
say++;
}
}
}
vector<int>res;
for(int i=n*m;i<=say;i++){
res.push_back(i);
}
add_or(res);
}
void construct_network(int n, int m, int k) {
say=n*m-1;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
check(i,j,n,m,k);
}
}
vector<int>res;
for(int i=n*m;i<=say;i++){
res.push_back(i);
}
add_or(res);
}
# | 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... |