《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q09)

《程序员的算法趣题》Q08 优秀的扫地机器人 《程序员的算法趣题》Q08 优秀的扫地机器 第一次写博客,请多见谅。 目前在看图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。因为没学过Ruby,只能大致理解。python也是刚入门,感觉网上的答案有点难理解,自己尝试写了一个比较初级的代码。 问题描述 现在有很多制造商都在卖扫地机器人,可是这些机器人有时候会反复清扫某一个地方。假设有一款机器人不会反复清扫同一个地方,它只能前... 阅读详情

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~

在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6)

Q09 落单的男女

    人们聚集在某个活动会场上,根据到达会场的顺序排成一排等待入场。假设你是活动的主办人员,想把人们从队列的
某个位置分成两组。
    你想要让分开的两组里每一组的男女人数都均等,但如果到场顺序不对,可能出现无论怎么分,两组都不能男女均等的情况。
    举个例子,有 3 位男性、 3 位女性以“男男女男女女 ” 的 顺 序 到 场, 如图所示,无论从队列的那个位置分开,两组的男女人数都不均等。但如果到场顺序为“男男女女男女”,那么只需要在第 4 个人处分组就可以令分开的两组男女人数均等了。

                                                    

问题
       求男性 20 人、女性 10 人的情况下,有多少种到场顺序会导致无论怎么分组都没法实现两组男女人数均等?(原书,感觉有问题!)

       看原书分析,比较合理的问题应该是:

        求男性20人、女性10人的情况下,有多少种到场顺序会导致无论怎么分组都没有任何一组内部男女人数能够均等?

分析图:

 

问题可简化为:从0点至蓝点,不经过红点,有多少种可能?

利用最短路径的思路:

                              

man_number = 20
female_number = 10

man_number += 1
female_number += 1
array = [[0]*man_number for i in range(female_number)]
array[1][0] = 1
array[0][1] = 1
for man in range(man_number):
    for female in range(female_number):
        if (man != female) and (man_number-man != female_number-female):
            try:
                if man > 0:
                    array[female][man] += array[female][man-1]
                if female > 0:
                    array[female][man] += array[female-1][man]
            except IndexError:
                pass
result = array[female_number-2][man_number-1] + array[female_number-1][man_number-2]
print("有%s种" % result)

运行结果:

            有2417416种

解决vscode无法运行npm命令的问题(cmd可行) Powershell以及vscode中npm命令使用不了 阅读详情

相关推荐

深入IR2104数据手册:被忽略的SD引脚用法和死区时间调节实战

本文深入解析IR2104半桥驱动芯片的SD引脚用法和死区时间调节技巧,帮助硬件工程师优化电机控制和电源转换系统。通过详细的电路设计、实测数据和调试方法,揭示SD引脚的多重保护机制和死区时间的精密调节策略,提升系统安全性和效率。

weixin_30342363的博客 391

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q11)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q11 斐波那契数列      斐波那契数列由两个 1 开端,其后的每一位数字都是前两位数字之和。譬如 1 和 1 的和为 2, 1 和 2 的和...

cloudly89的专栏 290

飞腾D2000 BIOS编译避坑指南:PCIE拆分、S3电源与过温保护配置详解

本文详细解析飞腾D2000 BIOS编译中的关键配置技巧,包括PCIE拆分模式优化、S3电源管理适配及过温保护设置。通过实战案例和参数调优建议,帮助开发者规避常见陷阱,充分发挥国产高性能计算平台的硬件潜力。特别针对BIOS编译过程中的隐蔽问题提供解决方案。

weixin_33704234的博客 534

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q02)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q02 数列的四则运算     在各个数字之间插入四则运算的运算符组成算式,然后计算算式的结果(某些数位之间可以没有运算符,但最少要插入 1 个运...

cloudly89的专栏 415

论文阅读:SuperGaussians: Enhancing Gaussian Splatting Using Primitives with Spatially Varying Colors

Gaussian Splattings 在基于高斯显式表示的多视图重建中展示出了令人印象深刻的结果。然而,当前的高斯基元只有单视图依赖的颜色和不透明度来表示场景的外观和几何形状,导致了一种非紧凑的表示。在本文中,我们引入了一种名为“超高斯(SuperGaussians)”的新方法,它在单个高斯基元中利用空间变化的颜色和不透明度来提高其表示能力。我们实现了双线性插值、移动核,甚至是小型神经网络作为空间变化函数。

m0_48319749的博客 1508

Weblogic安装与部署

27.免密登录,在目录Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer和Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\Server-TA目录下,新建security\boot.properties文件,13.点击新建按钮,填写服务器名称,服务器监听地址,再点击下一步,最后点击完成。

m0_46259466的博客 6635

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q06)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q06 (改版)考拉兹猜想       “考拉兹猜想”是一个数学上的未解之谜。 考拉兹猜想 对自然数 n 循环执行如下操作。 ·n 是...

cloudly89的专栏 291

【保姆级教程】基于UNet++&MobileNetv2的语义分割模型从训练到RK3588部署:让边缘AI落地效率提升300%

通过SMP库一键构建encoder_name="mobilenet_v2", # 选择MobileNetv2作为骨干encoder_weights="imagenet", # 加载预训练权重加速收敛in_channels=3, # 输入图像通道数(RGB)classes=29, # Cityscapes数据集类别数activation=None # 输出无激活,便于后续损失计算本教程从“模型设计-训练-转换-边缘部署”全链路拆解了。

FJN110的博客 210

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q04)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q04 切分木棒     假设要把长度为 n 厘米的木棒切分为 1 厘米长的小段,但是 1 根木棒只能由 1 人切分,当木棒被切分为 3 段后,可...

cloudly89的专栏 274

开发simulink 以及stm32半物理仿真碰到的问题,以及处理方法,Error:External Mode Open Protocol Connect command failed(实测有用)

串口实现的,但是在测试的时候发现,这个串口可以正常发送和接收数据,但是一旦把这个串口只让其进行版物理仿真就报错。直接刷写程序是可以的,最后查到问题了。我要实现半物理仿真,就是通过matlab实现可以直接控制stm32板子,实际上是通过xcp on。然后点击simulink上的观测按钮就可以直接和stm32平台进行通讯了。3,还是使用串口3,但是重新需要设置一下com口,因为重新插拔了一下,按照这个设置方法就可以。2,重新加载ioc文件。

pvmsmfchcs的博客 1499

YOLO11改进|卷积篇|引入多样化分支块DBB

YOLO11中添加多样化分支块DBB

A1983Z的博客 1445

程序员的算法趣题

内容简介 本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以 Ruby、JavaScript 等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。 本书适合已经学习过排序、搜索等知名算法,并想要学习更多有趣算法...

GitChat 3863

Android 12.0 framework系统修改安兔兔等显示的屏幕尺寸大小功能实现

在12.0的系统rom定制化开发中,在使用第三方app检测系统的一些信息中,比如安兔兔 设备信息等检测app中,有时候显示的屏幕尺寸大小和 产品规格书等信息不同,稍微有些差异,所以就需要看下系统framework层中,相关的设备信息是怎么读出来的,然后做些调整 接下来就来分析相关功能

安卓兼职framework和app工程师的博客 477

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q07)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q07 日期的二进制转换      把年月日表示为 YYYYMMDD 这样的 8 位整数,然后把这个整数转换成二进制数并且逆序排列,再把得到的二进制...

cloudly89的专栏 294

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q08)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q08 优秀的扫地机器人     假设有一款不会反复清扫同一个地方的机器人,它只能前后左右移动。举个例子,如果第 1 次向后移动,那么连续移动 3 ...

cloudly89的专栏 391

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q16)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q16 3 根绳子折成四边形     假设分别将 3 根长度相同的绳子摆成 3 个四边形。其中 2 根摆成长方形,剩下 1 根摆成正方形。这时,会...

cloudly89的专栏 344

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

程序员的算法趣题:Q09 落单的男女(Java版)

题目说明 人们聚集在某个活动会场上,根据到达会场的顺序排成一排等待入场。 假设你是活动的主办人员,想把人们从队列的某个位置分成两组。 求男性 20 人、女性 10 人的情况下, 有多少种到场顺序会导致无论怎么分组都没法实现任一组的男女人数均等?(原书表述有歧义,此处已修改) 即两组内的男女数量均不相同。 思路 如上图所示, 在10行20列的网格中,每一个交叉点的坐标都表示男、女的数量 x增加1,表示到一个男生;y增加1,表示到一个女生。 第一组:x和y相等的点标为"红点", 第二组:(20-x)

lanying100的博客 445

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q22)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q22 不缠绕的纸杯电话      绳子连接纸杯制作“纸杯电话”——这应该勾起了很多人对理科实验的回忆。如果把绳子拉直,对着一边的纸杯讲话,声音就可...

cloudly89的专栏 358

14万程序员挑战过的算法趣题

计算机的世界每天都在发生着深刻的变化。新操作系统的发布、CPU性能的提升、智能手机和平板电脑的流行、存储介质的变化、云的普及……这样的变化数不胜数。在这样日新月异的时代中...

Java 架构师之路 502

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q03)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q03 翻牌     这里有 100 张写着数字 1~100 的牌,并按顺序排列着。最开始所有牌都是背面朝上放置。某人从第 2 张牌开始,隔 1 ...

cloudly89的专栏 301

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q05)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q05 还在用现金支付吗     当下,坐公交或者地铁时大部分人都是刷卡的。不过,时至今日还在用现金支付的人还是比想象的多。本题我们以安置在公交上的...

cloudly89的专栏 332

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q29)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby(为主),JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q29 合成电阻的黄金分割比     我们在物理课上都学过“电阻”,通过把电阻串联或者并联可以使电阻值变大或者变小。电阻值分别为 R1、 ...

cloudly89的专栏 417

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q23)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q23 二十一点通吃     赌场经典的二十一点游戏 A中,每回合最少下注 1 枚硬币,赢了可以得到 2 枚硬币,输了硬币会被收走。     假设...

cloudly89的专栏 386

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q18)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q18 水果酥饼日     日本每月的 22 日是水果酥饼日。因为看日历的时候, 22 日的上方刚好是 15 日,也就是“‘22’这个数字上面点缀...

cloudly89的专栏 369

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q14)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q14 世界杯参赛国的国名接龙     2014 年 FIFA 世界杯的 32 个参赛国                            ...

cloudly89的专栏 367

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q20)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q20 受难立面魔方阵     西班牙有个著名景点叫圣家堂,其中“受难立面”上主要画着耶稣从“最后的晚餐”到“升天”的场景,其中还有一个如图所示的...

cloudly89的专栏 357
上一篇: 《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q08)
下一篇: 《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q10)
JemmaLiu
博客等级 码龄15年 9粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值