#include #include #define MAXNODES 256 FILE *infile; int nodes, start, ende; int used[MAXNODES], startused[MAXNODES]; int queue[MAXNODES], queue_in, queue_out; unsigned char g[MAXNODES][MAXNODES][256]; unsigned char reach[MAXNODES][MAXNODES][256]; void queue_init() { queue_in = queue_out = 0; } int queue_empty() { if (queue_in == queue_out) return 1; return 0; } void enqueue(int c) { queue[queue_in] = c; queue_in++; } int dequeue() { int c; c = queue[queue_out]; queue_out++; return c; } int read_case() { int i, j, k, a, b; char comps[32]; fscanf(infile, "%d", &nodes); if (nodes == 0) return 0; for (i=0; i