Submission #587948

#TimeUsernameProblemLanguageResultExecution timeMemory
587948ogibogi2004Vision Program (IOI19_vision)C++14
22 / 100
32 ms2656 KiB
#include "vision.h" #include<bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { if(K==1) { int c1[W],r1[H],c2[W],r2[H]; for(int i=0;i<H;i++) { vector<int>v; for(int j=0;j<W;j++)v.push_back(i*W+j); r1[i]=add_or(v); } for(int i=0;i<H-1;i++) { vector<int>v1; vector<int>v2; for(int j=0;j<W;j++)v1.push_back(i*W+j); for(int j=0;j<W;j++)v2.push_back((i+1)*W+j); r2[i]=add_and({add_or(v1),add_or(v2)}); } for(int j=0;j<W;j++) { vector<int>v; for(int i=0;i<H;i++)v.push_back(W*i+j); c1[j]=add_or(v); } for(int j=0;j<W-1;j++) { vector<int>v1,v2; for(int i=0;i<H;i++)v1.push_back(W*i+j); for(int i=0;i<H;i++)v2.push_back(W*i+j+1); c2[j]=add_and({add_or(v1),add_or(v2)}); } int cc1,cc2,rr1,rr2; vector<int>v; v.clear(); for(int i=0;i<W;i++)v.push_back(c1[i]); cc1=add_xor(v); v.clear(); for(int i=0;i<H;i++)v.push_back(r1[i]); rr1=add_xor(v); v.clear(); for(int i=0;i<W-1;i++)v.push_back(c2[i]); if(W>1)cc2=add_xor(v); else cc2=0; v.clear(); for(int i=0;i<H-1;i++)v.push_back(r2[i]); if(H>1)rr2=add_xor(v); else rr2=0; int case1=add_and({cc1,rr2}); int case2=add_and({cc2,rr1}); add_or({case1,case2}); return; } vector<int>v; for(int i=0;i<H;i++) { for(int j=0;j<W;j++) { if(i+j==K)v.push_back(i*W+j); } } add_or(v); }
#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...