#include <iostream>
#include "vision.h"
using namespace std;

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

int getMove1d(std::vector<int> v) {
    int vision = (int) v.size() / 2;

    if (v[vision] == 1) {
        if (v[vision - 1] != 1) return vision - 1;
        return vision + 1;
    }

    if (v[vision] == 2) {
        int mx = 0;
    
        for (int i = 0; i < v.size(); i++) {
            if (i == vision) continue;
            mx = max(mx, v[i]);
        }
    
        for (int i = 0; i < v.size(); i++) {
            if (i == vision) continue;
            if (mx == v[i]) return i;
        }
    }

    if (v[vision + 2] == 2) return vision - 3;
    return vision + 3;
}

std::vector<std::vector<int>> getVisionPattern2d() {
    return {{1}};
}

std::pair<int, int> getMove2d(std::vector<std::vector<int>> v) {
    return {0, 0};
}
