#include #include #include using namespace std; const int MAXN = 205; struct edge { int a, b; int val; int c; bool operator<(const edge & obj)const { return val < obj.val; } }; edge A[MAXN]; int fR[MAXN]; int fB[MAXN]; int father[MAXN]; int find(int x) { if (x != father[x]) father[x] = find(father[x]); return father[x]; } void kruskal(int n, int m, int forbidden,int out[MAXN]) { int i, t; int res = 0; int p=n; memset(out,-1,sizeof(out[0])*m); for (i = 0; i <= n; i++) father[i] = i; for(i=t=0;i