#include #include #include #include #include using namespace std; #define MAXPOINT 512 //#define dprintf(A,B...) printf(A,##B) #define dprintf(A,B...) int groupid[MAXPOINT]; struct EDGE { int u,v; int w; }; bool cmp_d(const EDGE& a,const EDGE& b) { if(a.w==b.w) { if(a.u==b.u) { return a.v vec; EDGE tmp; for(int i=0;itmp.v) swap(tmp.u,tmp.v); vec.push_back(tmp); } sort(vec.begin(),vec.end(),cmp_d); for(int i=0;i dpos; int dtmp; for(int i=0;i