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;
typedef pair<int, int> ii;
#define mp(a,b) ii(min(a, b), max(a, b))
void construct_network(int H, int W, int K) {
std::vector<int> Ns;
map<ii, bool> used;
for(int x1=0;x1<W;x1++){
for(int y1=0;y1<H;y1++){
//cout<<endl<<x1+W*y1<<": \n";
int origx=K+x1, origy=y1;
vector<int> possiblexy;
for(int i=0;i<K;i++){
//cout<<origx+origy*W<<" ";
if(origx<W && origx>=0 && origy<H && origy>=0){
if(!used[mp(origx+origy*W, y1*W+x1)] && !used[mp(y1*W+x1, origx+origy*W)]){
used[mp(origx+origy*W, y1*W+x1)] = true;
used[mp(y1*W+x1, origx+origy*W)] = true;
possiblexy.push_back(origx+origy*W);
}
}
origy++;
origx--;
}
for(int i=0;i<K;i++){
//cout<<origx+origy*W<<" ";
if(origx<W && origx>=0 && origy<H && origy>=0){
if(!used[mp(origx+origy*W, y1*W+x1)] && !used[mp(y1*W+x1, origx+origy*W)]){
used[mp(origx+origy*W, y1*W+x1)] = true;
used[mp(y1*W+x1, origx+origy*W)] = true;
possiblexy.push_back(origx+origy*W);
}
}
origy--;
origx--;
}
for(int i=0;i<K;i++){
//cout<<origx+origy*W<<" ";
if(origx<W && origx>=0 && origy<H && origy>=0){
if(!used[mp(origx+origy*W, y1*W+x1)] && !used[mp(y1*W+x1, origx+origy*W)]){
used[mp(origx+origy*W, y1*W+x1)] = true;
used[mp(y1*W+x1, origx+origy*W)] = true;
possiblexy.push_back(origx+origy*W);
}
}
origy--;
origx++;
}
for(int i=0;i<K;i++){
//cout<<origx+origy*W<<" ";
if(origx<W && origx>=0 && origy<H && origy>=0){
if(!used[mp(origx+origy*W, y1*W+x1)] && !used[mp(y1*W+x1, origx+origy*W)]){
used[mp(origx+origy*W, y1*W+x1)] = true;
used[mp(y1*W+x1, origx+origy*W)] = true;
possiblexy.push_back(origx+origy*W);
}
}
origy++;
origx++;
}
int a;
if(possiblexy.size()>1)
a = add_or(possiblexy);
else if(possiblexy.size()==1) a = possiblexy[0];
else continue;
vector<int> v;
v.push_back(y1*W + x1);
v.push_back(a);
Ns.push_back(add_and(v));
}
}
int a = add_or(Ns);
}
Compilation message (stderr)
vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:74:6: warning: unused variable 'a' [-Wunused-variable]
int a = add_or(Ns);
^
# | 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... |