제출 #1287054

#제출 시각아이디문제언어결과실행 시간메모리
1287054Jawad_Akbar_JJVision Program (IOI19_vision)C++20
12 / 100
6 ms1340 KiB
#include <iostream> #include <vector> #include "vision.h" using namespace std; 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++) vc.push_back(add_or(get1(n, m, 0, j))); for (int i=1;i<n;i++) vc.push_back(add_or(get1(n, m, i, m-1))); for (int i=k;i<vc.size();i++) vc2.push_back(add_and({vc[i], vc[i - k]})); return add_or(vc2); } int solve2(int n, int m, int k){ vector<int> vc, vc2; for (int i=n-1;i>0;i--) vc.push_back(add_or(get2(n, m, i, 0))); for (int j=0;j<m;j++) vc.push_back(add_or(get2(n, m, 0, j))); for (int i=k;i<vc.size();i++) vc2.push_back(add_and({vc[i], vc[i - k]})); 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); add_or({frst, scnd}); }
#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...