for(l=c;l<=t;l++) for(int q=0;q for(i=0;i } } } sort(s2.begin (),s2.end()); s2=shan(s2); if(flag>0) { if(s2!=s) { g[++t].group1=s2; b=t; g[++t].group1=jian(g[d].group1,g[b].group1); c++; } else { g[++t].group1=s2; c++; } } else { for(i=0;i int main() { freopen(\ int i,b,j; string ss; edge *p=new edge[maxs]; edge *y=new edge[maxs]; jihe *g=new jihe[maxs]; input(p,g); while(d<=t) { if(t<50)//根据情况取值,使之不能再划分 Divide(g[d].group1,p,g); // d++; } for(i=0;i // cout< g[x++].group2=g[i].group1; cout<<\cout<<\划分子集为:\ for(i=0;i for(i=0;i if(p[i].prim==p[j].prim&&p[i].chan==p[j].chan&&p[i].res==p[j].res) { p[j].prim=\ p[j].chan=\ p[j].res=\ } for(i=0;i } // y[z].res=p[i].res; z++; } for(i=0;i