/* SWERC'97 - MBone */ /* 11/13/97 - Matthias Ruhl */ #include #include FILE *inp; int m; char island[10][21]; struct { int num,island; } host[50]; struct { int num,member[50],membernum; } group[20]; typedef struct { int host,data,ttl; } packetT; packetT packet[50*1000]; int hostnum,packetnum,dist[10][10]; void read_network() { int h,i,j,k,l,ttl; char name[21],ch; /* Initialize variables */ hostnum = packetnum = 0; for(i=0;i= 0 && dist[k][j] >= 0 && (dist[i][j] < 0 || dist[i][j] > dist[i][k] + dist[k][j])) { dist[i][j] = dist[i][k] + dist[k][j]; ch = 1; } } } void simulate_network() { int i,j,k,n,h,g,d,ttl,is; char ch; fscanf(inp,"%d",&n); for(i=0;ihost != p2->host) return p1->host - p2->host; if(p1->data != p2->data) return p1->data - p2->data; return p1->ttl - p2->ttl; } void output() { static int caseno = 1; int i; qsort(packet,packetnum,sizeof(packetT),compare); printf("Network #%d\n",caseno++); for(i=0;i