Submission #1066383

#TimeUsernameProblemLanguageResultExecution timeMemory
1066383guanexVision Program (IOI19_vision)C++14
44 / 100
7 ms2008 KiB
#include "vision.h"
#include<bits/stdc++.h>

using namespace std;

typedef pair<int, int> ii;
typedef long long ll;
typedef vector<ll> vll;
typedef pair<long long, long long> pll;
typedef pair<char, int> ci;
typedef pair<string, int> si;
typedef long double ld;
typedef vector<int> vi;
typedef vector<string> vs;
#define pb push_back
#define fi first
#define se second
#define whole(v) v.begin(), v.end()
#define rwhole(v) v.rbegin(), v.rend()
#define inf INT_MAX/2
#define fro front

void construct_network(int H, int W, int K) {
    vector<int> ins;
    int pos = 0;
    vector<int> impo;
    for(int i = 0; i <= H*W - 1; ++i){
        impo.pb(i);
        int d = -K;
        int r = 0;
        vector<int> z;
        for(int j = 0; j < K+1; ++j){
            int num = i+r;
            if(i % W + r >= W){
                continue;
            }
            //cout << num << endl;
            num += W * d;
            r++;
            d++;
            if(num < 0 || num >= H * W){
                continue;
            }
            //cout << r << " " << d << endl;
            //cout << i << " " << num << endl;
            z.pb(num);
        }
        d = K;
        r = 0;
        for(int j = 0; j < K; ++j){
            int num = i+r;
            if(i % W + r >= W){
                continue;
            }
            num += W * d;
            r++;
            d--;
            if(num < 0 || num >= H * W){
                continue;
            }
            z.pb(num);
            //cout << i << " " << num << endl;
        }
        if(z.size() <= 0){
            continue;
        }
        int u = add_or(z);
        vector<int> f;
        f.pb(u); f.pb(i);
        pos = add_and(f);
        ins.pb(pos);
    }
    if(ins.size() <= 0){
        add_xor(impo);
        return;
    }
    //cout << ins[0] << endl;
    add_or(ins);
}
#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...