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; }