Submission #533812

#TimeUsernameProblemLanguageResultExecution timeMemory
533812jamezzzVision Program (IOI19_vision)C++17
12 / 100
10 ms1444 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; #define pf printf #define pb push_back vector<int> qry,qry2; int l[405],r[405]; int add_and(int a,int b){ vector<int> v{a,b}; return add_and(v); } int add_or(int a,int b){ vector<int> v{a,b}; return add_or(v); } void construct_network(int H,int W,int K){ for(int i=0;i<H+W-1;++i){ for(int h=0;h<H;++h){ if(h+W-1<i)continue; qry.pb(h*W+(i-h)); } l[i]=add_or(qry); qry.clear(); } for(int i=0;i<H+W-1;++i){//h-w=i-(W-1) for(int h=0;h<H;++h){ if(h-i>0||h-i<=-W)continue; qry.pb(h*W+(h-i+W-1)); } r[i]=add_or(qry); qry.clear(); } int la,lb=-1,ra,rb=-1; for(int i=0;i+K<H+W-1;++i){ for(int j=i+1;j<=i+K;++j)qry.pb(l[j]); qry2.pb(add_and(l[i],add_or(qry))); qry.clear(); } la=add_or(qry2); qry2.clear(); if(K!=1){ for(int i=0;i+K-1<H+W-1;++i){ for(int j=i+1;j<=i+K-1;++j)qry.pb(l[j]); qry2.pb(add_and(l[i],add_or(qry))); qry.clear(); } lb=add_or(qry2); qry2.clear(); } for(int i=0;i+K<H+W-1;++i){ for(int j=i+1;j<=i+K;++j)qry.pb(r[j]); qry2.pb(add_and(r[i],add_or(qry))); qry.clear(); } ra=add_or(qry2); qry2.clear(); if(K!=1){ for(int i=0;i+K-1<H+W-1;++i){ for(int j=i+1;j<=i+K-1;++j)qry.pb(r[j]); qry2.pb(add_and(r[i],add_or(qry))); qry.clear(); } rb=add_or(qry2); qry2.clear(); } if(K==1)add_or(la,ra); else{ add_or(add_and(la,add_not(lb)),add_and(ra,add_not(rb))); } }
#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...