数学建模——过河问题一(人狼羊草)
#include\typedef struct node {int n; }node;
int p(node *a)
int i,j=1; if(a->n==1) {for(i=1;i<3;i++)
if((a+i)->n==0&&(a+i+1)->n==0) {j=0;break;} }
if(a->n==0) {for(i=1;i<3;i++)
if((a+i)->n&&(a+i+1)->n) {j=0;break;} }
return j; }
int main() {
11 / 15
数学建模——过河问题一(人狼羊草)
int i,k=0,m=0,l,j=0,q;
char str[4][7]={\人\狼\羊\草\node a[4]; for(i=0;i<4;i++) (a+i)->n=0; while(1) {
a[0].n=1; for(l=1;l<4;l++) {
if(l==j) {j=0;continue;} if((a+l)->n==0) {
(a+l)->n=1; if(p(a)) break; else (a+l)->n=0; } }
printf(\过河; \
12 / 15
数学建模——过河问题一(人狼羊草)
for(q=0;q<4;q++) if((a+q)->n) m=1; else {m=0;break;} if(m) break; a->n=0; if(p(a)==0) { k=1;
for(j=1;j<4;j++) {
if(j==l) {l=0;continue;} if((a+j)->n==1) {
(a+j)->n=0; if(p(a)) break; else (a+j)->n=1; } } }
13 / 15
数学建模——过河问题一(人狼羊草)
if(k) {printf(\返回\\n\else printf(\返回\\n\}
printf(\return 0; }
图为计算机运行结果
六、参考文献
1、数学建模精讲精练,哈尔滨工程大学出版社,沈继红主编,2007 2、数学建模,哈尔滨工业大学出版社,白凤山等主编,2003
14 / 15
数学建模——过河问题一(人狼羊草)
3,数学模型,高等教育出版社,姜启源主编,1993 4、C语言程序设计教程,电子工业出版社,凌云主编,2008 5、数学建模,浙江大学出版社,杨启帆主编,1999 6、数学建模导论,北京邮电大学出版社,陈理荣主编,2000
15 / 15