Submission #682694

#TimeUsernameProblemLanguageResultExecution timeMemory
682694APROHACKVision Program (IOI19_vision)C++14
0 / 100
2 ms976 KiB
#include "vision.h" #include <bits/stdc++.h> #define ll long long #define ff first #define ss second #define pb push_back using namespace std; int h, w, k; bool valid(int x, int y){ return (x < h && y < w && x >= 0 && y >= 0); } int coordenadasAPosicion (int x, int y){ return x*w + y; } void construct_network(int H, int W, int K) { h = H, w = W, k = K; int cuenta = 0; vector<int>toOr; for(int i = 0 ; i < H ; i ++){ for(int j = 0 ; j < W ; j ++){ if(valid(i, j)){ vector<int>toXor; for(int abajo = k ; abajo > -k ; abajo--){ if(valid(i+abajo, j+k-abs(abajo))){ toXor.pb(coordenadasAPosicion(i+abajo, j+k-abs(abajo))); //add_and({coordenadasAPosicion(i, j), coordenadasAPosicion(i+abajo, j+k-abs(abajo))}); //cuenta ++; } } if(toXor.empty())continue; add_xor(toXor); add_not({H*W+cuenta}); cuenta+=2; add_and({H*W+cuenta-1, coordenadasAPosicion(i, j)}); cuenta++; toOr.pb({H*W+cuenta-1}); } } } add_or(toOr); }
#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...