基于visual Studio2013解决C语言竞赛题之1079狼羊过河
来源:互联网 发布:好听的淘宝会员名女 编辑:程序博客网 时间:2024/05/19 18:47
题目
解决代码及点评
/************************************************************************//* 79.猎人过河。猎人要把一只狼,一头羊和一些白菜从河的左岸带到右岸,但他的船太小,一次只能带一样,因为狼要吃羊,羊会吃白菜,所以狼和羊,羊和白菜不能在无人监视的情况下相处,问猎人怎样才能达到目的? 请编程序实现猎人过河。*//************************************************************************/#include <stdio.h>#include <stdlib.h>static int num=0;bool IsSafe(int *arr){if (arr[0]==1&&arr[1]==1||arr[1]==1&&arr[2]==1){return false;}elsereturn true;}void printfarr79(int *arr){for (int i=0;i<3;i++){printf("%5d",arr[i]);}}bool flag=0;//定义结束标志voidMove(int *farr,int*tarr,int h,int zs)//h表示方向 1表示A-B 0 表示B-A zs 表示这次送过去的标号{if (h&&tarr[3]==3||!h&&farr[3]==3){printf("结束了");flag=1;return;}else if(flag==0){for (int i=0;i<3;i++){if (flag==1)break;if (i==zs)continue;if (farr[i]==0){continue;}farr[i]=0;farr[3]--;tarr[i]=1;tarr[3]++;printf("移动%d\n",i);if (IsSafe(farr)){if (IsSafe(tarr)&&h&&(!flag)){Move(farr,tarr,h,i);}else if(!flag){Move(tarr,farr,!h,i);}}else if (flag==0){farr[i]=1;farr[3]++;tarr[i]=0;tarr[3]--;printf("不符合条件回退%d\n",i);}}}}void main(){printf("0代表菜 1代表羊 2 代表狼");int arr1[4]={1,1,1,3};int arr2[4]={0};Move(arr1,arr2,1,-1);printf("asdasfdsf");system("pause");}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
密码:c.itcast.com
0 0
- 基于visual Studio2013解决C语言竞赛题之1079狼羊过河
- 基于visual Studio2013解决C语言竞赛题之1089牛虎过河
- 基于visual Studio2013解决C语言竞赛题之前言
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
- 基于visual Studio2013解决C语言竞赛题之0408素数
- 基于visual Studio2013解决C语言竞赛题之0516人来人往
- 基于visual Studio2013解决C语言竞赛题之0517矩阵
- 基于visual Studio2013解决C语言竞赛题之0519最大值
- 基于visual Studio2013解决C语言竞赛题之0605strcat
- 基于visual Studio2013解决C语言竞赛题之0607strcpy
- 基于visual Studio2013解决C语言竞赛题之0612递归
- 基于visual Studio2013解决C语言竞赛题之0803报数
- 基于visual Studio2013解决C语言竞赛题之0810链表去重
- 基于visual Studio2013解决C语言竞赛题之1004平均值
- 基于visual Studio2013解决C语言竞赛题之1006填空
- 基于visual Studio2013解决C语言竞赛题之1010计算
- 基于visual Studio2013解决C语言竞赛题之1011对称
- 基于visual Studio2013解决C语言竞赛题之1017次数
- unbound classpath container:'JRE System Library [jre1.6.0_11]' in project '工程名'
- ibatis mybatis sql语句配置 符号不兼容 大于号 小于号
- result love
- 关于2.6.32内核bus_id的问题
- [C#]委托和事件
- 基于visual Studio2013解决C语言竞赛题之1079狼羊过河
- 如何写一篇好的技术博客
- jquery $.fn $.fx是什么意思
- 【Adapter】适配器设计模式透析
- Android之蓝牙传感应用
- HTTP 方法:GET 对比 POST
- 在Oracle中查询表的大小和表空间的大小
- Android Apk反编译得到Java源代码
- ios开发学习笔记