php狼找兔子问题算法,算法 狼找兔子问题
#include//定义结点
struct point
{
int num ; //当前结点所在位置,从0开始算起,依次类推
int sign ; //标志位,检查是否被查找过,0代表未被查找,1代表已经被查到过
struct point *next ;
};
int main(void)
{
int n , m; // n 代表洞 , m代表跨越查找步长
printf("please input number n and m : \n");
scanf("%d",&n);
scanf("%d",&m);
struct point *p = NULL;
struct point *s = NULL;
//循环遍历,依次创建 n 个结点
for(int i = 0 ; i < n ; i++)
{
if(i == 0) //创建第一个结点
{
p = (struct point * )malloc(sizeof(struct point)) ;
p->num = i;
p->sign = 0;
p->next = p;
}
else //在第一个结点基础上,继续创建余下结点
{
s = (struct point * )malloc(sizeof(struct point)) ;
s->num = i;
s->sign = 0;
s->next = p->next ;
p->next = s;
p = s;
}
}
p = p->next ; //将 p指正回归到最开始那个结点
struct point *q = NULL;
q = p ;
int count = 0;
//开始遍历查找
while(q->sign == 0)
{
q->sign = 1;
count++; //统计找到结点数
int j = 0;
while( j < m) //向前推m步
{
q = q->next;
j++; //控制步长
}
}
if(count < n) //如果count小于 n ,说明有可躲藏点
{
printf("yes, the rabbit have chance of survival, it can hide in the following position:\n");
int j = 0 ;
while( j < n) //输出标志位sign为0的所有结点
{
if(p->sign == 0)
{
printf("%d\t",p->num);
}
p = p->next;
j++;
}
printf("\n");
}
else
{
printf("no, the rabbit had no chance of survival\n");
}
//开始销毁链表
q = p->next ;
count = 0;
while(count < n-1)
{
free(p);
p = q;
q= p->next;
count++;
}
free(p);
return 0;
}
php狼找兔子问题算法,算法 狼找兔子问题相关推荐
- 我的算法之狼追兔子问题之Java(while)
题目:狼追兔子问题(while) 目录: 1.题目 2.解析 3.代码 4.结果 1.题目 一只兔子躲进了10个环形分布的洞中的一个.狼在第一个洞中没有找到兔子,就隔一个洞,到第3个洞去找:也没有找到 ...
- 算法之狼羊菜过河问题
算法之狼羊菜过河问题 1.带羊再带狼 回来时把羊带上 然后把白菜带到对岸 最后把羊带过去 2..带羊再带菜 回来时把羊带上 然后把狼带到对岸 最后把羊带过去 关键点在于羊和两个都有联系,而狼不吃菜,
- 【数据结构与算法】狼、羊、菜和农夫过河:使用图的广度优先遍历实现
[数据结构与算法]狼.羊.菜和农夫过河:使用图的广度优先遍历实现 Java 农夫需要把狼.羊.菜和自己运到河对岸去,只有农夫能够划船,而且船比较小.除农夫之外每次只能运一种东西.还有一个棘手问题,就是 ...
- 狼羊菜问题的算法思想和C++实现(二进制状态表示 递归状态转移 回溯 剪枝)
狼羊菜问题的算法思想和C++实现 狼羊菜问题 把[狼.羊和蔬菜]这三样东西安全地送至河的对面,你能用的工具只有身边的一艘小船.已知,这艘小船很小,当你坐在里面时,其只能搭载[狼.羊和蔬菜]这三样东西中 ...
- 兔子是如何吃掉狼和野猪
兔子是如何吃掉狼和野猪的 一天,一只兔子在山洞前写文章, 一只狼走了过来,问:"兔子啊,你在干什么?" 答曰:"写文章."问:"什么 题目?" ...
- 兔子是怎么吃掉狼的[转]
一天,一只兔子在山洞前写文章, 一只狼走了过来,问:"兔子啊,你在干什么?" 答曰:"写文章."问:"什么题目?"答曰:"< ...
- 寓言中的智慧:兔子、狐狸和狼
在一个充满阳光的午后,一只兔子从她的洞里出来享受好天气.天气好得让她失去警觉,一只 狐狸尾随其后,抓住了她. "我要把她当午餐吃掉!"狐狸说."慢着!"兔子答道 ...
- 兔子是怎么把狼吃掉的!(经典)-经典寓意文化传承
有一天兔子在一个山洞前写东西,一只狼走过来问:"兔子你在写些什么? " 兔子答曰:"我在写论文." 狼又问:"什么题目?" 兔子答曰:&qu ...
- 【算法】快速选择算法 ( 数组中找第 K 大元素 )
算法 系列博客 [算法]刷题范围建议 和 代码规范 [算法]复杂度理论 ( 时间复杂度 ) [字符串]最长回文子串 ( 蛮力算法 ) [字符串]最长回文子串 ( 中心线枚举算法 ) [字符串]最长回文 ...
- 贪心算法-01硬币找零问题
硬币找零问题 前言 所谓贪心算法,就是遵循某种既定原则,不断选取当前条件下最优的选择来构造每一个子步骤的解决方案,直到获得问题最终的求解.即在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不 ...
最新文章
- 与大佬零距离交流,在行业报告留名,智源社区招募兼职编辑!
- 使用 EF Core 的 EnableRetryOnFailure 解决短暂的数据库连接失败问题
- 算法2:判断两个字符串内容是否相同
- mysql5.7重置密码windows_MySql 5.7 for Windows 重置root密码
- 在Exchange 2010中批量导入用户
- id jquery选择器 开头_HTML的id选择器类选择器
- 通过stream去重_Java 8 Stream.distinct() 列表去重的操作
- Python多重继承时属性的调用顺序
- 无法启用数据库中的 Service Broker,因为已存在启用的具有相同 ID 的 Service Broker。...
- QQ机器人制作教程,超详细
- 加壳、脱壳以及如何病毒免杀技术与原理
- 使用mbedtls库实现ftps协议
- 单片微机原理与接口技术——8051汇编指令系统与编程基础(2)数据传送指令
- SpringCloud Gateway gatewayRequestUrl is missing
- 技术支持----用户和产研沟通的桥梁
- 获取和设置默认打印机
- 【中科院信工所】-2021考研经验-记录一段每天都在思考如何学习的日子
- SXT分布式缓存技术公开课的观后感
- Java SpringMVC毕业项目实战-学生信息管理系统
- 如果我恨一个人,我就领他到中关村买相机。