急求数据结构《农夫过河问题》课程设计(C/C++)源代码,编程要体现过河的先后顺序实现农夫过河过程,谢谢

作者&投稿:束民 (若有异议请与网页底部的电邮联系)
农夫过河问题(c/c++),要求动态实现! 哪位大神帮帮忙啊~

#include "stdio.h"void gh(int p[]){int i,j,n;if(p[0]==1)//在对岸时 {if(p[1]==p[2] && p[1]==1){if(p[2]==p[3])return;else{p[1]=0;printf("农夫带狼返回
"); }}else if(p[2]==p[3] && p[3]==1){p[2]=0;printf("农夫带羊返回
"); }elseprintf("农夫返回
");p[0]=0;gh(p);}else if(p[0]==0)//在原岸时 {if(p[1]==p[2] && p[1]==0){if(p[2]==p[3]){p[2]=1;printf("农夫带羊过河
"); }else{p[1]=1;printf("农夫带狼过河
"); }}else if(p[2]==p[3] && p[3]==0){p[3]=1;printf("农夫带狼过河
"); }else{if(p[3]==p[0]){p[3]=1;printf("农夫带菜过河
");}else if(p[2]==p[0]){p[2]=1;printf("农夫带羊过河
");}else if(p[1]==p[0]){p[1]=1;printf("农夫带狼过河
");}}}p[0]=(p[0]+1) % 2;gh(p);}int main(){int p[4]; //p[0]:农夫;p[1]:狼;p[2]:羊;p[3]白菜.int i;for(i=0;i<4;i++) p[i]=0;//设初值0表示原来河岸 ,1表示对岸 gh(p);}

在河两岸采用分治方法,然后通过递归重新归化。

好难啊我不会代码

#include<stdio.h>
int s[100],t=0;
void BA(int a[4],int b[4]);
void xu(int a[4])
{
int i,j,k;
for(i=0;i<3;i++)for(j=i+1;j<4;j++)if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
int f(int a[4],int x)
{
int i,j=0,b[4];
for(i=0;a[i];i++)
{
if(i==x)continue;
b[j]=a[i];
if(j&&b[j]==b[j-1]-1)return 1;
j++;
}
return 0;
}
int g()
{
int i,r;
for(i=t-1;i>=t/2;i-=2)
{
for(r=0;r<t-i;r++)if(s[t-r]!=s[i-r])break;
if(r==t-i)break;
}
if(i<t/2)return 0;
else return 1;
}
void huan(int a[4],int b[4],int x)
{
int i;
for(i=0;a[i]!=x;i++);
a[i]=0;
b[3]=x;
xu(a);
xu(b);
}
void AB(int a[4],int b[4])
{
int i;
for(i=0;a[i-1]||i==0;i++)
{
if(f(a,i))continue;
s[t]=a[i];
if(g())continue;
huan(a,b,s[t]);
t++;
if(a[0]==0)break;
BA(a,b);
if(a[0]==0)break;
t--;
huan(b,a,s[t]);
}
}
void BA(int a[4],int b[4])
{
int i;
for(i=0;b[i-1]||i==0;i++)
{
if(f(b,i))continue;
s[t]=b[i];
if(g())continue;
huan(b,a,s[t]);
t++;
AB(a,b);
if(a[0]==0)break;
t--;
huan(a,b,s[t]);
}
}
void main()
{
int i,a[4]={3,2,1},b[4]={0};
AB(a,b);
for(i=0;i<t;i++)
{
if(i%2)printf("农夫从B岸到A岸:");
else printf("农夫从A岸到B岸:");
switch(s[i])
{
case 0:printf("什么都不带");break;
case 1:printf("把狼带过河");break;
case 2:printf("把羊带过河");break;
case 3:printf("把菜带过河");break;
}
printf("\n");
}
}


大学毕业生自我鉴定表范文
我记得高中有个老师解释过社会的缓冲区到底在哪里,很现实地说要靠自己的实践,大学里的毕竟只是抽象的...大学主要学的是计算机专业,在专业课上也学了繁多的科目,如《数据结构》、《操作系统》、《C语言程序...其它很多非专业科目也是不求甚解,大二的时候通过自己努力通过了英语四级,这是值得欣慰的事情,整个大学...

关于节约粮食的资料
有这么一组数据。1998年我国谷物、棉花,肉类的产量均占世界第一位。可是按人口平均,人均有粮食仅362公斤,比世界平均水平还低,甚至低于一些发展中的国家。更令人感慨的是,新中国的今天不是比一千多年前的唐宋王朝不知多了多少倍吗?可是由于人口猛增,人均占有粮食竟比唐宋时代还少了200多公斤。 有人打过这样一个...

生活中类似于亡羊补牢的故事有哪些?
郑人买履,是先秦时代汉族寓言故事。它既是一个成语,又是一个典故,更是一则寓言,说的是郑国人因过于相信“尺度”,造成买不到鞋子的故事。揭示郑人拘泥于教条心理,依赖数据的习惯。常比喻做事死板,不会变通的人。它告诉人们,遇事要实事求是,要会灵活变通,不要死守教条。刻舟求剑 刻舟求剑,...

应聘电商个人简历
1.计算机类:C程序设计、数据结构、计算机组成原理、数据库技术、面向对象、数据通信与计算机网络、信息管理原理、管理信息系统开发与管理、网站建设 2.经管类...4.电子商务类:电子商务原理、网络营销、电子商务物流与供应链管理、电子商务安全与电子支付、数据仓库与决策支持系统 已赞过 已踩过< 你对这个回答的评价是...

求有关:拼搏,青春,成功,生命,信念,追求,责任,实践,勤奋,的名言.诗句...
131、这世上的一切都借希望而完成,农夫不会剥下一粒玉米,如果他不曾希望它长成种粒;单身汉不会娶妻...加入新的功能和技术,容纳能力是对手产品的好几倍,那些模版体系和数据结构到今天都成了别人学习这种语言...在营销策划界先后服务过的品牌有:能源行业欧洲太阳能品牌、贵州百灵药业、亿干王、荷兰荷壳国际润滑油...

你知道有哪些曾经很火却已消失了品牌? ​
2. 艾格Etam30+的姐姐们曾经衣柜里都有过艾格的衣服吧!说实话,艾格的性价比真心傲视群雄,而且风格全面,碾压今天的hm、zara们。可是不知道啥时候,她突然就消失了,随着潮文化的兴起,大家也慢慢忘了这个伴随青春的品牌。3. 班尼路2006年,《疯狂的石头》里一口山东胶州话的黄渤倾情带货,这时候也正...

公司自荐书模板 个人
数据库(Foxbase、Visul Foxpro)、C语言、电路基础、数据结构、专业英语、组装与维护、网络技巧和专业知识。并纯熟网页制作(Dreamweaver MX、Flash、Firework)、图形图像处理(Photshop、CorelDRW 9.0)和平面设计AutoCAD等。并且在班上设计过班级网页,并独立完成。 “长风破浪会有时,直挂云帆济桑田”,我真诚地生机加盟贵...

电子商务个人简历怎么写?
工作经历是指你参加过的实习,勤工俭学,假日谋职,义务工作以及各种团体及取得的成果。参加工作经历不但仅仅丰富你的个人社会阅历,也让你的简历更富含内容,吸引HR的眼球。6、奖励情况 奖励情况一般要求是奖学金或者其他国际性,全国性及省级的竞赛的得奖。如果是小社团的一些竞赛成果可以忽略不写。没...

简单求职简历格式范文10篇
4、20__年__月-20__年__月农夫山泉促销,从中我学会大方面向大众。 获奖情况 1、20__年__月-20__年__月获得广东华农大学优秀学生一等奖(德智体综合...1、计算机类:C程序设计、数据结构、计算机组成原理、数据库技术、面向对象、数据通信与计算机网络、信息管理原理、管理信息系统开发与管理、网站建设。 2、经管...

个人简历简短格式范文10篇
4、20__年__月-20__年__月农夫山泉促销,从中我学会大方面向大众。 获奖情况 1、20__年__月-20__年__月获得广东华农大学优秀学生一等奖(德智体综合...1、计算机类:C程序设计、数据结构、计算机组成原理、数据库技术、面向对象、数据通信与计算机网络、信息管理原理、管理信息系统开发与管理、网站建设。 2、经管...

裕民县18143213612: 急求数据结构《农夫过河问题》课程设计(C/C++)源代码,编程要体现过河的先后顺序实现农夫过河过程,谢谢 -
牛泳九维: #include int s[100],t=0;void BA(int a[4],int b[4]);void xu(int a[4]){ int i,j,k; for...

裕民县18143213612: 数据结构农夫过河问题步骤 状态 南岸 北岸 0 农夫 狼 羊 白菜 1 狼 白菜 农夫 羊 2 狼 农夫 白菜 羊 3 农夫 狼 羊 白菜 4 羊 农夫 狼 白菜 5 农夫 羊 狼 白菜 6 农夫 狼 羊 白菜 怎样输出这个运行结果?求求求 -
牛泳九维: 农夫先把羊带过去 ,剩下狼不吃白菜, 然后把狼带过去 把羊在带回来放下羊 在把白菜带过 去最后在回去带羊

裕民县18143213612: 农夫过河问题 -
牛泳九维: 这个问题我做过 (假设农夫现在的位置是A 对岸是B) 农夫 狼 羊 白菜的问题 首先农夫和羊先到B 接着农夫一人回到A(羊在B) 然后农夫和白菜到B(此时农夫和羊和白菜都在B) 之后农夫和羊到A(只有白菜在B) 然后农夫和狼到B(A有羊 B有...

裕民县18143213612: 数据结构(C语言版)课程设计大作业,急!!! -
牛泳九维: 以数组模拟卡片 TRUE向上 FALSE向下 循环模拟翻卡片 满足条件 card[i]=!card[i]; 最后输出值为TRUE的数组元素 #include <stdio.h> #include <string.h> int main() { bool card[52]; memset(card,true,52); for (int i=2,n=1;i<=52;i++,n++) { for(int j=n;...

裕民县18143213612: 急!!!数据结构 课程设计
牛泳九维: //程序没问题,满意就采纳下:) #include"stdio.h" void main() {int a[]={4,12,28},b[]={1,7,9,25,45}; int i,j,temp; for(i=0;i<=2;i++) for(j=0;j<=4;j++) {if(a[i]>b[j]) {temp=a[i];a[i]=b[j];b[j]=temp;} } for(i=0;i<=2;i++) {printf("%d ",a[i]); } printf("\n"); for(i=0;...

裕民县18143213612: 农夫过河(编程求解) -
牛泳九维: 运行结果如下: 带羊到对岸 空手回本岸 带狼到对岸 带羊回本岸 带菜到对岸 空手回本岸 带羊到对岸带羊到对岸 空手回本岸 带菜到对岸 带羊回本岸 带狼到对岸 空手回本岸 带羊到对岸以上是找出的所有解,共有两个解.程序如下: #include ...

裕民县18143213612: 数据结构课程设计.急~ -
牛泳九维: 源代码含有四个文件,datastruct.h是数据结构的定义;ListOper.h是线性表操作函数的声明;ListOper.cpp是线性表操作函数的定义;main.cpp是主单元含有主函数和字符串分析函数.datastruct.h typedef struct list { int c; //多项式的项数 int e; ...

裕民县18143213612: 200分数据结构课程设计(十万火急,用C++)
牛泳九维: http://www.pudn.com/downloads26/sourcecode/math/detail84283.html该程序能实现的功能,若活动图有回路则无法计算出关键路径,即解决了判断工程的可行性问题.通过对工程活动的输入,可以建立任意的AOE网进行判断.对于输入的网,可以计算出每个活动的最早开始时间,最迟开始时间和全工程可以完成的最早时间,并找出关键路径和关键活动.满足你的要求了,下载地址是http://61.137.90.75/downloads26/sourcecode/math/865974AOE-net.rar

裕民县18143213612: C++ 数据结构与算法课程设计题 求解!急急急!!!
牛泳九维: 用无序表实现城市数据库. 用顺序表实现时,如果你用的是数组,我想最多的问题是受到数组长度的限制,不好把握数组的大小. 如果用链表实现,在你硬件允许的情况下,可以不受限制的添加记录,但是要比顺序表消耗更多的空间,用于存...

裕民县18143213612: 急求~数据结构:教室里有n盏灯,依次编号1,2,...,n;现有n个同学同样依次编号. -
牛泳九维: 先定义个数组,lamp[n];在数组中,用0表示灯灭,用1表示灯亮,所以初始值为全0;设定一个循环,循环体为每个同学进行拉灯,拉灯的内容又是个循环,具体如下:void main() { int n; scanf("%d",&n); int lamp[n]; for(int i=0;i lamp[i]=0; for(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网