#include "vision.h"
#include<bits/stdc++.h>
using namespace std;
vector<int> getVisionPattern1d(){
    return {1,2,3};
}

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

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

std::pair<int, int> getMove2d(std::vector<std::vector<int>> v)
{
    if(v[v.size()/2][v.size()/2]==3){
        if(v[v.size()/2-1][v.size()/2]==2&&v[v.size()/2][v.size()/2-1]==2)return {v.size()-1,v.size()-1};
        if(v[v.size()/2-1][v.size()/2]==2&&v[v.size()/2][v.size()/2-1]!=2)return {v.size()-1,0};
        if(v[v.size()/2-1][v.size()/2]!=2&&v[v.size()/2][v.size()/2-1]==2)return {0,v.size()-1};
        if(v[v.size()/2-1][v.size()/2]!=2&&v[v.size()/2][v.size()/2-1]!=2)return {0,0};
    }
    for(int i=0;i<v.size();i++){
        for(int j=0;j<v.size();j++){
            if(v[i][j]==3)return {i,j};
        }
    }
}
