Submission #572937

#TimeUsernameProblemLanguageResultExecution timeMemory
572937SlavicGVision Program (IOI19_vision)C++17
12 / 100
7 ms1108 KiB
#include "vision.h" #include "bits/stdc++.h" using namespace std; #define ll long long #define forn(i,n) for(int i=0;i<n;i++) #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(),v.rend() #define pb push_back #define sz(a) (int)a.size() /* int add_not(int N){} int add_and(vector<int> Ns){} int add_or(vector<int> Ns){} int add_xor(vector<int> Ns){} */ void construct_network(int H, int W, int K) { vector<int> indices; if(K == 1 && min(H, W) != 1) { vector<int> rowsOR, colsOR, rowsXOR, colsXOR; map<int, int> rr, cc; for(int i = 0; i < H; ++i) { vector<int> ele; for(int j = 0; j < W; ++j) { ele.pb(i * W + j); } rowsOR.pb(add_or(ele)); rr[i] = rowsOR.back(); } rowsXOR.pb(add_xor(rowsOR)); for(int i = 0; i < W; ++i) { vector<int> ele; for(int j = 0; j < H; ++j) { ele.pb(j * W + i); } colsOR.pb(add_or(ele)); cc[i] = colsOR.back(); } colsXOR.pb(add_xor(colsOR)); vector<int> rrr, ccc; for(int i = 0; i + 1 < H; ++i) { rrr.pb(add_and({rr[i], rr[i + 1]})); } for(int i = 0; i + 1 < W; ++i) { ccc.pb(add_and({cc[i], cc[i + 1]})); } int val1 = add_and({add_or(rrr), add_not(colsXOR.back())}); int val2 = add_and({add_or(ccc), add_not(rowsXOR.back())}); add_or({val1, val2}); return; } if(max(H, W) <= 10 || min(H, W) == 1) { set<array<int, 4>> vis; for(int i = 0; i < H; ++i) { for(int j = 0; j < W; ++j) { for(int x = 0; x < H; ++x) { for(int y = 0; y < W; ++y) { if(x == i && j == y) continue; if(abs(x - i) + abs(y - j) != K) continue; vis.insert({i, j, x, y}); vis.insert({x, y, i, j}); vector<int> purice = {i * W + j, x * W + y}; sort(all(purice)); indices.pb(add_and(purice)); } } } } if(sz(indices) == 0) { vector<int> bruh; for(int i = 0; i < H * W; ++i) bruh.pb(i); add_and(bruh); return; } add_or(indices); return; } else { vector<int> Paiu; for(int i = 0; i < H; ++i) { for(int j = 0; j < W; ++j) { if(i + j != K) continue; if(i == 0 && j == 0) continue; Paiu.pb(add_and({0, i * W + j})); } } add_or(Paiu); return; } } /* void solve() { } int32_t main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t = 1; //cin >> t; while(t--) { solve(); } } */
#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...