#include <stdio.h> #include <stdlib.h> #include <string.h> #define _clr(a) memset(a,0,sizeof(a)) #include <time.h> #define random(m) (rand()%m) #define N 100 int map[N][N]; int main () { //freopen("3255.txt","w",stdout); srand((int)time(0)); int T=random(10)+1;//T个case 不一定每个都有通路 T=20; int n,m; int i,j; int val=10;//value while(T--) { _clr(map); n=random(8)+2;//n个点 m=random(n*(n-1)/2)+1;//最多m条边 for (i=0;i<m;i++) { int u=random(n)+1; int v=random(n)+1; map[u][v]=random(val)+1; } m=0; for (i=1;i<=n;i++) { for (j=1;j<=n;j++) { if (map[i][j]) { map[j][i]=0; if (i!=j) m++; } } } if (m<n)//随便写点限制 { continue; } printf("/n%d %d/n",n,m); for (i=1;i<=n;i++) { for (j=1;j<=n;j++) { if (map[i][j]) { printf("%d %d %d/n",i,j,map[i][j]); } } } } }