#include "vision.h"
#include "bits/stdc++.h"

using namespace std;

vector<int> getVisionPattern1d()
{
    return {1, 2, 2, 1, 1, 2};
}

int getMove1d(std::vector<int> v) {
    int n = v.size();

    if (n == 3) {
        for (int i = 0; i < n; i++) {
            if (v[i] == 2) {
                return i;
            }
        }
    }
    else {
        vector<int> v1{2, 1, 2, 2, 1}, v2{1, 2, 2, 1, 1}, v3{1, 1, 2, 1, 2};

        if (v == v1) {
            return 3;
        }
        else if (v == v2) {
            return 4;
        }
        else if (v == v3) {
            return 4;
        }

        reverse(v.begin(), v.end());

        if (v == v1) {
            return 1;
        }
        else if (v == v2) {
            return 0;
        }
        else if (v == v3) {
            return 0;
        }
    }
}

vector<std::vector<int>> getVisionPattern2d() {
    vector<vector<int>> ret(2);

    ret[0].pb(2), ret[0].pb(4);
    ret[1].pb(6), ret[1].pb(8);
}

pair<int, int> getMove2d(std::vector<std::vector<int>> v)
{
    int n = v.size();

    int x = 0, y = n - 1;

    if (v[n / 2][0] == 4) {
        y = 0;
    }

    if (v[0][0] > 4) {
        x = n - 1;
    }

    return {x, y};
}
