1111]; void bfs(int x,int y,int type) { vis.clear(); int f=0,r=-1; vis[q[++r]=make_pair(x,y)]=1; while (f<=r) { auto status=q[f++]; for (int i=0;i<4;i++) { auto to_status=make_pair(status.first+dx[i],status.second+dy[i]); if (to_status.first>0 && to_status.second>0 && vis[to_status]==0) { int colour=MAP[to_status]; if (colour==0) return ; if (colour==type) q[++r]=to_status; vis[to_status]=1; } } } for (int i=0;i<=r;i++) MAP[q[i]]=0; } int main() { #ifdef FCBRUCE freopen("/home/fcbruce/code/t","r",stdin); #endif // FCBRUCE int T_T; scanf( "%d",&T_T); while (T_T--) { MAP.clear(); int n; scanf( "%d",&n); for (int i=0,x,y;i
|