예제 #1
0
int breadth_search_commit(struct commit *ci,struct commit *target){
  struct que_commit *head,*end;
  push_que(ci,end);
  head = end;
  struct commit_list *list = ci->parents;
  struct commit *item,;
  while(1){
    while((item=list->item)){
      push_que(item,end);
      list = list->next;
    }

    if (strcmp(target->object->sha1,ci->object->sha1)==0){
      return move;
    }
    // new_ci = new_ci->parents
  }
}
int main() {

    int testcase,i,j,time,psngr;
    struct node *t, *x;


    scanf("%d",&testcase);
    for(i=1; i<=testcase; i++) {
        scanf("%d %d",&n,&m);
        time=0;

        t=(struct node *)malloc(sizeof *t);
        t->seq=1;
        x=t;
        t->passenger = -1;

        for(j=2; j<=m; j++) {
            t->next=(struct node *)malloc(sizeof *t);
            t=t->next;
            t->passenger = -1;
            t->seq=j;
        }
        t->next=x;

        for(j=20; j>=20-n+1; j--)
            queue[j]=20-j+1;
        head=20;
        tail=j;

        status_init();

        while(!(all_ridden())) {
            t=t->next;
            time+=5;
            if((t->passenger)>0) {
                psngr=t->passenger;
                status[psngr][t->seq]=1;
                t->passenger=remove_next(t->seq); /*Remember to return -1 if all have ridden*/
                if(!finished(psngr))
                    push_que(psngr);
            } else {
                t->passenger=remove_next(t->seq);
            }
        }

        printf("Case %d: %d\n",i,time);





    }

    return 0;
}