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<bits/stdc++.h>
#include "vision.h"
using namespace std ;
void construct_network(int n, int m, int k)
{
if(k == 1)
{
int ls_or = n * m ;
for(int x1 = 0 ; x1 < n ; x1++)
for(int y1 = 0 ; y1 < m ; y1++)
{
set<int> s ;
vector<int> v ;
for(int q = -k ; q <= k ; q++)
{
int x2 = x1 + q, y2 = y1 + k - abs(q), y3 = y1 - k + abs(q) ;
if(x2 < n && y2 < m && x2 >= 0 && y2 >= 0)
s.insert(x2 * m + y2) ;
if(x2 < n && y3 < m && x2 >= 0 && y3 >= 0)
s.insert(x2 * m + y3) ;
}
if(s.size())
{
for(int i : s)
v.push_back(i) ;
add_or(v) ;
v.clear() ;
v.push_back(ls_or) ;
v.push_back(x1 * m + y1) ;
if(add_and(v))
return ;
ls_or += 2 ;
}
}
return ;
}
// int ls_or = n * m ;
// for(int x1 = 0 ; x1 < n ; x1++)
// for(int y1 = 0 ; y1 < m ; y1++)
// {
// vector<int> v ;
// for(int q = -k ; q <= k ; q++)
// {
// int x2 = x1 + q, y2 = y1 + k - abs(q) ;
// if(x2 < n && y2 < m && x2 >= 0 && y2 >= 0)
// v.push_back(x2 * m + y2) ;
// }
// if(v.size())
// {
// add_or(v) ;
// v.clear() ;
// v.push_back(ls_or) ;
// v.push_back(x1 * m + y1) ;
// add_and(v) ;
// ls_or += 2 ;
// }
// }
// vector<int> abu ;
// for(int i = n * m + 1 ; i < ls_or ; i += 2)
// abu.push_back(i) ;
// add_or(abu) ;
}
# | 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... |