C语言-编程实例-用递归法解决商人渡河问题
> if(n==1) /*判断0状态时,商匪状态是否符合要求*/ { if(judge(a 1,b 1,2-a,2-b,0)) { if(Duhe(a 1,b 1,0)==1) return 1; } if(judge(a,b 2,3-a,1-b,0)) { if(Duhe(a,b 2,0)==1) return 1; } if(judge(a 2,b,1-a,3-b,0)) { if(Duhe(a 2,b,0)==1) return 1; } if(judge(a 1,b,2-a,3-b,0)) { if(Duhe(a 1,b,0)==1) return 1; } if(judge(a,b 1,3-a,2-b,0)) { if(Duhe(a,b 1,0)==1) return 1; } else { Pop(1); return 0; } } return 0; }
main() { link pointer; Push(3,3,0); Duhe(3,3,0); pointer=PPointer1; while(pointer!=NULL) { printf("%d,%d---%d\n",pointer->x,pointer->y,pointer->state); pointer=pointer->next; } getch(); }
文章来源: 电脑软件教程下载库上一页 [1] [2]
|