#include <iostream>
#include <vector>
#include "vision.h"
using namespace std;
vector<int> vc3;
vector<int> get1(int n, int m, int i, int j){
vector<int> ans;
while (i < n and j >= 0){
ans.push_back(i * m + j);
i++, j--;
}
return ans;
}
vector<int> get2(int n, int m, int i, int j){
vector<int> ans;
while (i < n and j < m){
ans.push_back(i * m + j);
i++, j++;
}
return ans;
}
int solve1(int n, int m, int k){
vector<int> vc, vc2;
for (int j=0;j<m;j++){
// cout<<"type1 "<<0<<" "<<j<<' ';
vc.push_back(add_or(get1(n, m, 0, j)));
}
for (int i=1;i<n;i++){
// cout<<"type1 "<<i<<" "<<m - 1<<' ';
vc.push_back(add_or(get1(n, m, i, m-1)));
}
for (int i=k, ind;i<vc.size();i++){
// cout<<"type11 "<<i-k<<" "<<i<<" ";
vc2.push_back(add_and({vc[i], vc[i - k]}));
if (i == k)
ind = 0;
else{
vc3.push_back(add_and({ind, vc[i]}));
ind = add_or({ind, vc[i - k]});
}
}
// cout<<"type1 last ";
return add_or(vc2);
}
int solve2(int n, int m, int k){
// cout<<"/////////////////////////////////"<<endl;
vector<int> vc, vc2;
for (int i=n-1;i>0;i--){
// cout<<"type2 "<<i<<" "<<0<<' ';
vc.push_back(add_or(get2(n, m, i, 0)));
}
for (int j=0;j<m;j++){
// cout<<"type2 "<<0<<" "<<j<<' ';
vc.push_back(add_or(get2(n, m, 0, j)));
}
for (int i=k, ind;i<vc.size();i++){
// cout<<"type2 "<<i-k<<" "<<i<<" ";
vc2.push_back(add_and({vc[i], vc[i - k]}));
if (i == k)
ind = 0;
else{
vc3.push_back(add_and({ind, vc[i]}));
ind = add_or({ind, vc[i - k]});
}
}
// cout<<"type2 last ";
return add_or(vc2);
}
void construct_network(int n, int m, int k){
int frst = solve1(n, m, k);
int scnd = solve2(n, m, k);
// cout<<"final Answer ";
int a = add_or({frst, scnd});
if (vc3.size() == 0)
return;
int b = add_or(vc3);
add_and({a, add_not(b)});
}
| # | 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... |