이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
#define MAXH 205
#define MAXW 205
int h,w,k;
set<pair<int,int>> used;
vector<int> diag;
vector<int> answers;
int id(int x,int y){//x in 0..h-1, y in 0..w-1
return x*w+y;
}
bool inbounds(int x,int y){
return 0<=x&&x<h&&0<=y&&y<w;
}
void ins(int x,int y,int dx,int dy){
int x_=x+dx;
int y_=y+dy;
if(inbounds(x_,y_)&&!used.count({id(x,y),id(x_,y_)})){
diag.push_back(id(x_,y_));
used.insert({id(x,y),id(x_,y_)});
used.insert({id(x_,y_),id(x,y)});
}
}
void construct_network(int H, int W, int K) {
h=H;
w=W;
k=K;
used.clear();
for(int x=0;x<h;x++){
for(int y=0;y<w;y++){
diag.clear();
for(int i=0;i<=k;i++){
ins(x,y,i,k-i);
ins(x,y,-i,k-i);
ins(x,y,i,-k+i);
ins(x,y,-i,-k+i);
}
if(diag.size()>0){
int ans_or=add_or(diag);
int ans_and=add_and({id(x,y),ans_or});
answers.push_back(ans_and);
}
}
}
add_or(answers);
}
# | 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... |