Submission #1187087

#TimeUsernameProblemLanguageResultExecution timeMemory
1187087origabaiVision Program (IOI19_vision)C++20
14 / 100
6 ms1096 KiB
#include<bits/stdc++.h> using namespace std; #include"vision.h" void construct_network(int H, int W, int K){ vector<int> row_xors,col_xors; for (int i=0;i<H;i++){ vector<int> row; for (int j=0;j<W;j++){ row.push_back(i*W+j); } row_xors.push_back(add_xor(row)); } for (int j=0;j<W;j++){ vector<int> col; for (int i=0;i<H;i++){ col.push_back(i*W+j); } col_xors.push_back(add_xor(col)); } vector<int> row_adj, col_adj; for (int i=0;i<H-1;i++){ row_adj.push_back(add_and({row_xors[i],row_xors[i+1]})); } for (int i=0;i<W-1;i++){ col_adj.push_back(add_and({col_xors[i],col_xors[i+1]})); } int a = add_or(row_xors); int an = add_not(a); int b = add_or(col_xors); int bn = add_not(b); if (row_adj.size() == 0){ int d = add_or(col_adj); int e = add_and({an,d}); } else if (col_adj.size() == 0){ int c = add_or(row_adj); int f = add_and({bn,c}); } else { int c = add_or(row_adj); int d = add_or(col_adj); int e = add_and({an,d}); int f = add_and({bn,c}); int g = add_or({e,f}); } }
#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...