제출 #305520

#제출 시각아이디문제언어결과실행 시간메모리
305520azberjibiouVision Program (IOI19_vision)C++17
14 / 100
12 ms1152 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { vector <int> v; for(int i=0;i<H;i++) { v.clear(); for(int j=0;j<W;j++) { v.push_back(W*i+j); } add_or(v); } for(int i=0;i<W;i++) { v.clear(); for(int j=0;j<H;j++) { v.push_back(W*j+i); } add_or(v); } vector <int> Hh, Ww, tmp; Hh.resize(H), Ww.resize(W); for(int i=1;i<H;i++) { if(i>K) break; tmp.clear(); for(int j=0;j<H-i;j++) { v.clear(); v.push_back(H*W+j); v.push_back(H*W+j+i); tmp.push_back(add_and(v)); } Hh[i]=add_or(tmp); } tmp.clear(); for(int i=0;i<H;i++) tmp.push_back(H*W+i); Hh[0]=add_xor(tmp); for(int i=1;i<W;i++) { if(i>K) break; tmp.clear(); for(int j=0;j<W-i;j++) { v.clear(); v.push_back(H*W+H+j); v.push_back(H*W+H+j+i); tmp.push_back(add_and(v)); } Ww[i]=add_or(tmp); } tmp.clear(); for(int i=0;i<W;i++) tmp.push_back(H*W+H+i); Ww[0]=add_xor(tmp); tmp.clear(); for(int i=0;i<=K;i++) { if(i>H || K-i>W) continue; tmp.push_back(add_and({Hh[i], Ww[K-i]})); } add_or(tmp); }
#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...