#include #include int teamnr[1000000],succnr[1000000],teamlast[2000],last, first; int dequeue(void) { int e = first; if (first == last) { teamlast[teamnr[first]] = -1; first = last = -1; } else { if (teamlast[teamnr[first]] == first) teamlast[teamnr[first]] = -1; first = succnr[first]; } return e; } void enqueue(int k) { if (first == -1) { first = k; last = k; teamlast[teamnr[k]] = k; succnr[k] = -1; } else if (teamlast[teamnr[k]] == -1) { succnr[last] = k; teamlast[teamnr[k]] = k; succnr[k] = -1; last = k; } else { succnr[k] = succnr[teamlast[teamnr[k]]]; succnr[teamlast[teamnr[k]]] = k; teamlast[teamnr[k]] = k; if (succnr[k] == -1) last=k; } } int main(void) { FILE *f = fopen("team.in", "r"); int n, k, i, nr, anz=1, j; char s[1000]; while(1) { fscanf(f, "%d ", &n); if (n==0) break; printf("Scenario #%d\n", anz++); for (i=0;i