Submission #1287351

#TimeUsernameProblemLanguageResultExecution timeMemory
1287351Jawad_Akbar_JJVision Program (IOI19_vision)C++20
0 / 100
6 ms2484 KiB
#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 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...