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;
int say;
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(i*m+j<=x*m+y) continue;
if(dis(x,y,i,j)==k){
add_and({x*m+y,i*m+j});
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;
if(max(n,m)<=10||min(n,m)==1){
}
else{
task(n,m,k);
return;
}
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... |