이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "vision.h"
#include <bits/stdc++.h>
#define checker(a) cout << "checker reached " << a << "\n"
using namespace std;
int h,w;
int getPos(int x,int y){
return x*w+y;
}
int getDis(pair<int,int> p1,pair<int,int> p2){
return abs(p1.first-p2.first)+abs(p1.second-p2.second);
}
void construct_network(int H, int W, int k) {
h=H,w=W;
vector<vector<int>> ro,col;
for(int i=0;i<h;i++){
ro.push_back(vector<int>());
for(int j=0;j<w;j++)
ro[i].push_back(getPos(i,j));
}
for(int i=0;i<w;i++){
col.push_back(vector<int>());
for(int j=0;j<h;j++)
col[i].push_back(getPos(j,i));
}
vector<int> Xor;
for(vector<int> vec:ro)
Xor.push_back(add_xor(vec));
for(vector<int> vec:col)
Xor.push_back(add_xor(vec));
vector<int> Not;
for(int a:Xor)
Not.push_back(add_not(a));
Xor.clear();
vector<int> Or;
for(vector<int> vec:ro)
Or.push_back(add_or(vec));
for(vector<int> vec:col)
Or.push_back(add_or(vec));
vector<int> And;
for(size_t i=0;i<Or.size();i++)
And.push_back(add_and((vector<int>){Or[i],Not[i]}));
add_or(And);
}
# | 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... |