Submission #1216583

#TimeUsernameProblemLanguageResultExecution timeMemory
1216583brintonVision Program (IOI19_vision)C++20
0 / 100
6 ms1096 KiB
#include <bits/stdc++.h> #include "vision.h" using namespace std; void construct_network(int H, int W, int K) { auto id = [&](int i,int j){ return i*W+j; }; auto dist = [](int i1,int i2,int j1,int j2){ return abs(i1-i2)+abs(j1-j2); }; vector<int> row; vector<int> col; for(int i = 0;i < H;i++){ vector<int> cur; for(int j = 0;j < W;j++){ cur.push_back(id(i,j)); } row.push_back(add_or(cur)); } for(int j = 0;j < W;j++){ vector<int> cur; for(int i = 0;i < H;i++){ cur.push_back(id(i,j)); } col.push_back(add_or(cur)); } int sameRow = add_xor(row); int sameCol = add_xor(col); vector<int> nearRow; for(int i = 0;i+1 < row.size();i++){ nearRow.push_back(add_and({row[i],row[i+1]})); } vector<int> nearCol; for(int i = 0;i+1 < col.size();i++){ nearCol.push_back(add_and({col[i],col[i+1]})); } int nearByRow = add_or(nearRow); int nearByCol = add_or(nearCol); int a = add_and({sameRow,nearByCol}); int b = add_and({sameCol,nearByRow}); add_or({a,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...