Submission #1213229

#TimeUsernameProblemLanguageResultExecution timeMemory
1213229guagua0407Vision Program (IOI19_vision)C++20
0 / 100
1 ms1224 KiB
#include "vision.h"
//#include "grader.cpp"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define f first
#define s second
#define all(x) x.begin(),x.end()
#define _ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);


void construct_network(int n, int m, int k) {
    vector<int> cand;
	for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(i+k<n){
                cand.push_back(add_and({i*m+j,(i+k)*m+j}));
            }
            if(j+k<m){
                cand.push_back(add_and({i*m+j,i*m+(j+k)}));
            }
        }
	}
    vector<int> X(n),Y(m);
    for(int i=0;i<n;i++){
        vector<int> tmp;
        for(int j=0;j<m;j++){
            tmp.push_back({i*m+j});
        }
        X[i]=add_or(tmp);
    }
    for(int j=0;j<m;j++){
        vector<int> tmp;
        for(int i=0;i<n;i++){
            tmp.push_back({i*m+j});
        }
        Y[j]=add_or(tmp);
    }
    vector<int> dx(n),dy(m);
    for(int d=1;d<n;d++){
        vector<int> tmp;
        for(int i=0;i+d<n;i++){
            tmp.push_back(add_and({X[i],X[i+d]}));
        }
        dx[d]=add_or(tmp);
    }
    for(int d=1;d<m;d++){
        vector<int> tmp;
        for(int j=0;j+d<m;j++){
            tmp.push_back(add_and({Y[j],Y[j+d]}));
        }
        dy[d]=add_or(tmp);
    }
    for(int x=1;x<n and (k-x)>=0 and (k-x)<m;x++){
        int y=k-x;
        cand.push_back(add_and({dx[x],dy[y]}));
    }
    add_or(cand);
}
#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...