Submission #291704

#TimeUsernameProblemLanguageResultExecution timeMemory
291704medmdgVision Program (IOI19_vision)C++14
12 / 100
4 ms1148 KiB
#include<bits/stdc++.h>
#include "vision.h"
using namespace std;
 
void construct_network(int H, int W, int K){
    vector<int> b;
    b.push_back(0);
    b.push_back(1);
    if(H*W>2)
        b.push_back(2);
    int l=add_and(b);
    b.pop_back();
    b.pop_back();
    if(b.size())
        b.pop_back();
    b.push_back(l);
    if(H*W==2){
        if(K==1)
            return;
        else
            l=add_not(0);
        return;
    }
    if(min(H,W)==1){
        for(int i=0;i<H*W-K;i++){
            vector<int> ans;
            ans.push_back(i);
            ans.push_back(i+K);
            l=add_and(ans);
            ans.pop_back();
            ans.pop_back();
            ans.push_back(l-1);
            ans.push_back(l);
            l=add_or(ans);
        }
        return;
    }
    if(K==1){
        
        for(int i=0;i<H*W-1;i+=2){
            vector<int> ans;
            ans.push_back(i);
            l=add_or(ans);
            ans.pop_back();
            if(i%W!=W-1)
                ans.push_back(i+1);
            if(i/W<H-1)
                ans.push_back(i+W);
            l=add_or(ans);
            while(ans.size())
                ans.pop_back();
            ans.push_back(l);
            ans.push_back(l-1);
            l=add_and(ans);
            ans[0]++;
            ans[1]--;
            l=add_or(ans);
        }
        return;
    }
    else{
        vector<int> ans;
        for(int i=1;i<H*W;i++){
            if((i%W)+(i/W)==K){
                ans.push_back(i);
            }
        }
        l=add_or(ans);
        return;
    }
}
#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...