Submission #778477

#TimeUsernameProblemLanguageResultExecution timeMemory
778477jasminVision Program (IOI19_vision)C++17
0 / 100
1 ms976 KiB
#include "vision.h" #include<bits/stdc++.h> using namespace std; int ind(int x, int y, int H, int W){ assert(0<=x && x<H && 0<=y && y<W); return x*H + y; } bool valid(int x, int y, int H, int W){ return (0<=x && x<H && 0<=y && y<W); } void construct_network(int H, int W, int K) { if(H*W==2){ add_and({0, 1}); return; } vector<int> ns_ans; int cnt=0; for(int x=0; x<H; x++){ for(int y=0; y<W; y++){ vector<int> ns; for(int i=0; i<=K; i++){ int x2=x+i; int y2=y-(K-i); if(valid(x2, y2, H, W)){ ns.push_back(ind(x2, y2, H, W)); } y2=y+(K-i); if(valid(x2, y2, H, W)){ ns.push_back(ind(x2, y2, H, W)); } } if(!ns.empty()){ add_or(ns); cnt++; add_and({ind(x, y, H, W), H*W + cnt-1}); cnt++; ns_ans.push_back(H*W + cnt-1); } } } add_or({ns_ans}); }
#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...