제출 #829708

#제출 시각아이디문제언어결과실행 시간메모리
829708bachhoangxuanVision Program (IOI19_vision)C++17
100 / 100
65 ms7448 KiB
#include "vision.h"
#include<bits/stdc++.h>
using namespace std;

int solve(int h,int w,int k){
    vector<int> dL[400],dR[400],pL,pR,ans;

    for(int i=0;i<h;i++) for(int j=0;j<w;j++){
        dL[i+j].push_back(i*w+j);
        dR[i+(w-1-j)].push_back(i*w+j);
    }

    for(int d=k;d<h+w-1;d++){
        pL.push_back(add_or(dL[d-k]));
        pR.push_back(add_or(dR[d-k]));
        ans.push_back(add_and({add_or(dL[d]),add_or(pL)}));
        ans.push_back(add_and({add_or(dR[d]),add_or(pR)}));
    }
    return add_or(ans);
}

void construct_network(int h, int w, int k) {
	if(k==h+w-2) solve(h,w,k);
    else add_and({solve(h,w,k),add_not(solve(h,w,k+1))});
}
#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...