#include "vision.h"
#include <iostream>
#include <algorithm>
using namespace std;
std::vector<int> getVisionPattern1d()
{
    return {1,1,2,3};
}

int getMove1d(std::vector<int> v)
{
    int i;
    for(i=0;i<v.size()-1;i++){
        if(v[i]-v[i+1]==1){
            return 0;
        }
    }
    return v.size()-1;
}

std::vector<std::vector<int>> getVisionPattern2d()
{
    return {{1,2},{4,3},{5,6}};
}

std::pair<int, int> getMove2d(std::vector<std::vector<int>> v)
{
    int l=v.size(),c=v[0].size(),i,j,distm=1e9,ci,cj;
    for(i=0;i<l;i++){
        for(j=0;j<c;j++){
            if(((v[l/2][c/2]==6 && v[i][j]==1) || v[i][j]==v[l/2][c/2]+1) && abs(l/2-i)+abs(c/2-j)>0 &&  abs(l/2-i)+abs(c/2-j)<distm){
                distm=abs(l/2-i)+abs(c/2-j);
                ci=i;cj=j;
            }
        }
    }
    return {ci,cj};
}
