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"
#define fi first
#define se second
#define ll long long
using namespace std ;
void construct_network(int n, int m, int k)
{
vector<int> all ;
for(int i = 0 ; i < n * m ; i++)
all.push_back(i) ;
vector<int> arr_l, arr_l_k1, arr_l_k, arr_r, arr_r_k1, arr_r_k ;
for(int i = n - 1 ; i >= 0 ; i--)
{
int x = i, y = 0 ;
vector<int> now ;
while(x < n && y < m)
{
now.push_back(x * m + y) ;
x++ ;
y++ ;
}
arr_l.push_back(add_or(now)) ;
}
for(int i = 1 ; i < m ; i++)
{
int x = 0, y = i ;
vector<int> now ;
while(x < n && y < m)
{
now.push_back(x * m + y) ;
x++ ;
y++ ;
}
arr_l.push_back(add_or(now)) ;
}
for(int i = k - 1 ; i < arr_l.size() ; i++)
{
vector<int> now ;
for(int j = i - k + 1 ; j <= i ; j++)
now.push_back(arr_l[j]) ;
arr_l_k.push_back(add_xor({add_xor(now), add_or(now)})) ;
}
for(int i = k ; i < arr_l.size() ; i++)
{
vector<int> now ;
for(int j = i - k ; j <= i ; j++)
now.push_back(arr_l[j]) ;
arr_l_k1.push_back(add_xor({add_xor(now), add_or(now)})) ;
}
for(int i = 0 ; i < m ; i++)
{
int x = 0, y = i ;
vector<int> now ;
while(x >= 0 && y >= 0)
{
now.push_back(x * m + y) ;
x-- ;
y-- ;
}
arr_r.push_back(add_or(now)) ;
}
for(int i = 1 ; i < n ; i++)
{
int x = i, y = m - 1 ;
vector<int> now ;
while(x >= 0 && y >= 0)
{
now.push_back(x * m + y) ;
x-- ;
y-- ;
}
arr_r.push_back(add_or(now)) ;
}
for(int i = k - 1 ; i < arr_r.size() ; i++)
{
vector<int> now ;
for(int j = i - k + 1 ; j <= i ; j++)
now.push_back(arr_r[j]) ;
arr_r_k.push_back(add_xor({add_xor(now), add_or(now)})) ;
}
for(int i = k ; i < arr_r.size() ; i++)
{
vector<int> now ;
for(int j = i - k ; j <= i ; j++)
now.push_back(arr_r[j]) ;
arr_r_k1.push_back(add_xor({add_xor(now), add_or(now)})) ;
}
int num1 = add_and({add_or(arr_r_k1), add_or(arr_l_k1)}), num2 = add_and({add_or(arr_r_k), add_or(arr_l_k)}) ;
add_xor({num1, num2}) ;
}
Compilation message (stderr)
vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:37:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
37 | for(int i = k - 1 ; i < arr_l.size() ; i++)
| ~~^~~~~~~~~~~~~~
vision.cpp:44:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
44 | for(int i = k ; i < arr_l.size() ; i++)
| ~~^~~~~~~~~~~~~~
vision.cpp:75:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
75 | for(int i = k - 1 ; i < arr_r.size() ; i++)
| ~~^~~~~~~~~~~~~~
vision.cpp:82:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
82 | for(int i = k ; i < arr_r.size() ; i++)
| ~~^~~~~~~~~~~~~~
# | 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... |