제출 #1221683

#제출 시각아이디문제언어결과실행 시간메모리
1221683VMaksimoski008Vision Program (IOI19_vision)C++20
0 / 100
1 ms1476 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...