제출 #682700

#제출 시각아이디문제언어결과실행 시간메모리
682700APROHACKVision Program (IOI19_vision)C++14
8 / 100
1 ms304 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(i>0 || j>0)continue; if(valid(i, j)){ vector<int>toXor; //cout << "Esto fue para " << i << " " << j << endl; for(int abajo = k ; abajo > -k ; abajo--){ if(valid(i+abajo, j+k-abs(abajo))){ //cout << "valid = " << i+abajo << ", " << j+k-abs(abajo)<<endl; 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; toXor.pb(coordenadasAPosicion(i, j)); add_xor(toXor); add_not({H*W+cuenta}); //cout << "analising " << H*W+cuenta << endl; cuenta+=2; add_and({H*W+cuenta-1, coordenadasAPosicion(i, j)}); //cout << "and to position" << H*W+cuenta-1 << endl; 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...