#include #include #include #include #include #include #include #include using namespace std; int main(){ios::sync_with_stdio(false);cin.tie(nullptr);int id,T;cin>>id>>T;while(T--){int n,m;cin>>n>>m;vectorboard(n);for(auto&s:board)cin>>s;vector>cell;vector>index(n,vector(m,-1));int black=-1;vectorred;for(int i=0;i>pair_id(S,vector(S,-1));vector>pairs;for(int a=0;aoutcome(total);vectordistance(total),remaining(total),max_child(total);vector>red_move(S),black_move(S),black_pred(S);int dr[4]={-1,1,0,0},dc[4]={0,0,-1,1};for(int u=0;u=0)red_move[u].push_back(index[x][y]);}for(int z:{0,2,3}){int x=r+dr[z],y=c+dc[z];if(0<=x&&x=0)black_move[u].push_back(index[x][y]);}int x=r+1;if(x=0)black_pred[u].push_back(index[x][c]);for(int z:{2,3}){int y=c+dc[z];if(0<=y&&y=0)black_pred[u].push_back(index[r][y]);}} using Item=pair;priority_queue,greater>pq;for(int b=0;b