#include #include #include #include using namespace std; struct Point{int x,y;Point(int _x=0,int _y=0){x=_x;y=_y;}}; struct Edge { int f,t,dist; Edge(int F=0,int T=0,int D=0){f=F; t=T; dist=D;} }; inline bool operator<(const Edge &a,const Edge &b) {return a.dist vs; int cost; }; const int oo=1<<30,maxn=1000; int n,q,cnt,res; int fa[maxn+5]; Point ps[maxn+5]; Edge e[maxn*maxn+5]; Tc ts[10]; vector es; inline int ff(int n) { int a=n,b; while(n!=fa[n]) n=fa[n]; while(a!=n) { b=fa[a]; fa[a]=n; a=b; } return n; } int pro(int st) { int res=0; for(int i=0;i0) { scanf("%d%d",&n,&q); for(int i=0;i