前两天ICM的时候用到了克鲁斯卡尔算法解最小生成森林,不过当年NOIP学的基本都忘光了。写的不是很精练,全当练手了,有需要的就拿去啦
#include#include #define MAX_POINTS 100 #define INF 99999999 double Map[MAX_POINTS][MAX_POINTS]; int Points[MAX_POINTS]; int main() { int i,j,c=0,b,f,m1,m2; double bf=0,min=0; char buffer[100]; FILE * fp; for(i=0;i =c) { i=0; j++; } if(j>c) break; Map[i++][j]=bf; } fclose(fp); for(i=0;i %d \n",m1,m2); Points[m2]=1; } return 0; }