Submission #1213247

#TimeUsernameProblemLanguageResultExecution timeMemory
1213247guagua0407Vision Program (IOI19_vision)C++20
0 / 100
5 ms1100 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);
    }
    for(int x=0;x<=1;x++){
        //if(!((k-x)>=0 and (k-x)<m)) continue;
        int y=k-x;
        //cout<<x<<' '<<y<<'\n';
        int dx,dy;
        if(x==1){
            vector<int> tmp;
            for(int i=0;i+x<n;i++){
                tmp.push_back(add_and({X[i],X[i+x]}));
            }
            dx=add_or(tmp);
            cand.push_back(add_and({dx,add_xor(Y)}));
        }
        else{
            vector<int> tmp;
            for(int j=0;j+y<m;j++){
                tmp.push_back(add_and({Y[j],Y[j+y]}));
            }
            dy=add_or(tmp);
            cand.push_back(add_and({dy,add_xor(X)}));
        }
        //cand.push_back(add_and({dx,dy}));
    }
    if(cand.empty()){
        add_xor({0,0});
    }
    else{
        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...