제출 #294737

#제출 시각아이디문제언어결과실행 시간메모리
294737phillipVision Program (IOI19_vision)C++14
12 / 100
1 ms384 KiB
#include "vision.h"
#include <bits/stdc++.h>
#define ll long long
#define fast cin.tie(0);cout.tie(0);
#define order ios::sync_with_stdio(0);ios_base::sync_with_stdio(0);
#define pb push_back
using namespace std;
vector<int> q;
int cur,k,h,w;
void check(int x,int y)
{
    vector<int>qq;
    for(int i=0;i<=k;i++)
    {
        int j=k-i;
        if(j+y>=w||i+x>=h)continue;
        qq.push_back((i+x)*w+j);
    }
    add_or(qq);
    cur++;
    add_and({cur-1,x*w+y});
    q.push_back(cur);
    cur++;
}
void construct_network(int hh, int ww, int kk)
{
    w=ww;h=hh;k=kk;
    cur=h*w;
	if(min(h,w)==1){
	int mx=max(h,w);
	for(int i=0;i<mx-k;i++)
    {
        add_and({i,i+k});
        q.push_back(mx+i);
    }
	add_or(q);
	return;
	}
	else if(max(h,w)<=3)
    {
        for(int i=0;i<h;i++)
        {
            for(int j=0;j<w;j++)
            {
                check(i,j);
            }
        }
    }
	else
    {
        for(int i=0;i<=k;i++)
        {
            int j=k-i;
            if(j>=w||i>=h)continue;
            q.push_back(i*w+j);
        }
        add_or(q);
    }
}
#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...