约瑟夫生死游戏 超简短注释超全的C++代码实现~(就是有点笨)

本文介绍了约瑟夫生死游戏的C++实现,包括问题解读、代码逻辑和详细的注释解析。代码通过初始化bool数组表示乘客状态,使用嵌套循环模拟游戏过程,但空间复杂度较高,重复遍历到被丢弃的乘客时需跳过。
摘要由CSDN通过智能技术生成

约瑟夫生死游戏

1.读题

在这里插入图片描述

2.代码逻辑

【1】初始化一个bool类型的数组arr

在这里插入图片描述

【2】所有乘客的值都初始设置为0 也就是arr[s] = false

【3】进行嵌套循环

外层进行“不丢完y个人不罢休的循环”

内层进行“不丢到第x个人不罢休的循环”

在这里插入图片描述

【4】这丢第x个人的手段就是本题最妙的地方~!

在这里插入图片描述

但是!本方法的最大缺陷(个人认为)就是空间复杂度略高,所有乘客都被扔在数组中,被扔海里的位置也只是把false值改为true

所以在重复遍历到这个true的元素(被丢进海的乘客)时 当次循环还不算数~

3.注释贼详细的C++代码

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值