#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
int id[205][205], c = 0;
void construct_network(int n, int m, int k) {
for(int i=0; i<n; i++)
for(int j=0; j<m; j++)
id[i][j] = c++;
//2 * 30
vector<int> row, col;
for(int i=0; i<n; i++) {
vector<int> ask;
for(int j=0; j<m; j++) ask.push_back(id[i][j]);
row.push_back(add_or(ask));
}
for(int j=0; j<m; j++) {
vector<int> ask;
for(int i=0; i<n; i++) ask.push_back(id[i][j]);
col.push_back(add_or(ask));
}
vector<int> row_d[n];
for(int i=0; i<n; i++) {
for(int j=i; j<n; j++) {
row_d[j-i].push_back(add_and({ row[i], row[j] }));
}
}
vector<int> col_d[m];
for(int i=0; i<m; i++) {
for(int j=i; j<m; j++) {
col_d[j-i].push_back(add_and({ col[i], col[j] }));
}
}
vector<int> is_row(n), is_col(m);
for(int i=0; i<n; i++) is_row[i] = add_or(row_d[i]);
for(int j=0; j<m; j++) is_col[j] = add_or(col_d[j]);
vector<int> vec;
for(int i=0; i<n; i++)
if(k-i < m) vec.push_back(add_and({ is_row[i], is_col[k-i] }));
add_or(vec);
}
# | 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... |