Submission #533860

#TimeUsernameProblemLanguageResultExecution timeMemory
533860jamezzzVision Program (IOI19_vision)C++17
26 / 100
11 ms1228 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||h>i)continue; qry.pb(h*W+(i-h)); } l[i]=add_xor(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_xor(qry); qry.clear(); } int la,lb,lc,ra,rb,rc; for(int i=0;i<H+W-1;++i)qry.pb(l[i]); lc=add_not(add_or(qry)); qry.clear(); for(int i=0;i<H+W-2;++i){ for(int j=i+1;j<=min(H+W-2,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<H+W-2;++i){ for(int j=i+1;j<=min(H+W-2,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(); } else lb=lc; for(int i=0;i<H+W-1;++i)qry.pb(r[i]); rc=add_not(add_or(qry)); qry.clear(); for(int i=0;i<H+W-2;++i){ for(int j=i+1;j<=min(H+W-2,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<H+W-2;++i){ for(int j=i+1;j<=min(H+W-2,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(); } else rb=rc; add_and(add_and(add_or(la,lc),add_or(ra,rc)),add_or(add_not(lb),add_not(rb))); //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...