#include #include #include #include #include using namespace std; vector g[4000]; struct node { int x,y,s; }PEO[4000]; int mx[4000],my[4000],n1,n2,dx[4000],dy[4000]; bool use[4000]; bool find(int u) { for(int i=0;i q; memset(dx,0,sizeof(dx)); memset(dy,0,sizeof(dy)); for(int i=1;i<=n1;i++) { if(!mx[i]) q.push(i); } while(!q.empty()) { int u=q.front(); q.pop(); for(int i=0;i=dist1) { g[j].push_back(i); } } } printf("Scenario #%d:\n%d\n\n",cas++,HKmatch()); } }