제출 #1048400

#제출 시각아이디문제언어결과실행 시간메모리
1048400noyancanturkVision Program (IOI19_vision)C++17
44 / 100
5 ms2004 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; #define pb push_back const int lim=210; void construct_network(int H, int W, int K) { #define tr(x,y) ((x)*W+(y)) #define check(x,y) (0<=(x)&&(x)<H&&0<=(y)&&(y)<W) vector<int>all; for(int i=0;i<H;i++){ for(int j=0;j<W;j++){ vector<int>distdudes; //cerr<<i<<" "<<j<<" : \n"; for(int k=0;k<K;k++){ if(check(i-K+k,j+k)){ distdudes.pb(tr(i-K+k,j+k)); //cerr<<i-K+k<<" "<<j+k<<" :: "<<tr(i-K+k,j+k)<<"\n"; } } for(int k=0;k<=K;k++){ if(check(i+k,j+K-k)){ distdudes.pb(tr(i+k,j+K-k)); //cerr<<i+k<<" "<<j+K-k<<" :: "<<tr(i+k,j+K-k)<<"\n"; } } //cerr<<"\n"; if(!distdudes.size())continue; int oth=distdudes.size()==1?distdudes[0]:add_or(distdudes); all.pb(add_and({tr(i,j),oth})); } } add_or(all); } /* void construct_network(int H, int W, int K) { std::vector<int> Ns; Ns = {0, 1}; int a = add_and(Ns); Ns = {0, a}; int b = add_or(Ns); Ns = {0, 1, b}; int c = add_xor(Ns); add_not(c); } */
#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...