问题描述:

将一个圆形等分成N个小扇形,将这些扇形标记为1,2,3,…,N。现在使用M种颜色对每个扇形进行涂色,每个扇形涂一种颜色,且相邻的扇形颜色不同。

求:有多少种涂色方法。

备注:

  1. 不考虑数值越界。
  2. N>=1,M>=3;

分析:

设a(n)a(n)为符合要求的nn个扇形的涂色方法总和。

对扇形1有m种涂色方法,扇形2有m-1m-1种涂色方法,扇形3也有m-1m-1种涂色方法,扇形n也有m-1m-1种涂色方法。于是,共有m×(m−1)(n−1)m×(m−1)(n−1)种不同的涂色方法,但是这种涂色方法可能出现1与n着色相同的情形,这是不符合题意的,因此应从m×(m−1)(n−1)m×(m−1)(n−1)中减去这些不符合题意的涂色方法。不符合题意的涂色方法怎么计算?1与n看做是一个扇形,其涂色方法相当于用m种颜色对n-1个扇形涂色,即a(n−1)。递推关系如下:

a(n)=m∗(m−1)(n−1)−a(n−1),n>=3

def paint(m, n):if n == 1:return melif n == 2:return m*(m - 1)return m* (m - 1)^(n - 1) - paint(m, n-1)

扇形涂色问题(Python)相关推荐

  1. 【教学类-28-01】AB型图案排序涂色手工-python 学具(中班:偏美术和数学)

    效果展示 背景需求 1.纸张不够,缩小学具的面积 最近Python纸类学具用的频率高,主任给我的打印废纸都用光了o(╥﹏╥)o. 因此只能节省空间,设计一页A4的内容两个孩子用. 2.AB排序,永恒的 ...

  2. 七巧板涂色算法(Python)

    描述:有如图所示的七巧板,试编写算法,使用至多4种不同颜色对七巧板进行涂色(每块七巧板一种颜色),要求相邻区域的颜色互不相同,打印输出所有可能的涂色方案. 测试:结果 [1, 2, 1, 3, 2, ...

  3. 阿里实习测评:扇形涂色问题

    问题定义 一个圆划分为N个扇形,现用M种颜色对其上色,要求相邻两块扇形的颜色不能相同,问有多少种上色方案?(其中N>=1,M>=3) 注意:不考虑对称性,例如:一个圆划分为2个扇形,用3种 ...

  4. python怎么涂颜色_涂色问题(Python)

    题目:将一个圆形等分成N个小扇形,将这些扇形标记为1,2,3,-,N.现在使用M种颜色对每个扇形进行涂色,每个扇形涂一种颜色,且相邻的扇形颜色不同,问有多少种不同的涂法?(N≥1,M≥3) 递归解决: ...

  5. 涂色问题 阿里编程机试题目

    题目 一道阿里面试编程题目:将一个圆形等分成N个小扇形,将这些扇形标记为1,2,3,-,N.现在使用M种颜色对每个扇形进行涂色,每个扇形涂一种颜色,且相邻的扇形颜色不同,问有多少种不同的涂法?(N≥1 ...

  6. leetcode--给房子涂色III

     题目是LeetCode第192场周赛的第四题,链接:1473. 给房子涂色 III.具体描述为:在一个小城市里,有m个房子排成一排,你需要给每个房子涂上n种颜色之一(颜色编号为1到n).有的房子去年 ...

  7. 【教学类-36-09】20230722职业抽卡(midjounery-niji)(涂色、裁剪、游戏)

    作品展示: 随机选学具,辨认职业名称.说说工作内容.涂色.裁剪.交换卡片等 灵感来源: 最近在网上搜索"midjounery 简笔画",发现一条宝藏"关键词"- ...

  8. 【教学类-36-07】20230707对称蝴蝶(midjounery-niji)(涂色、裁剪、游戏(飞舞的蝴蝶))

    作品展示 因为有偶数页(空白页),打印纸张需要"有图案的在上",默认双面打印.打印范围选择(1-60,实际30个单面图案) 一.利用midjounery获得简笔画样式的" ...

  9. OpenCV(一)图像读取与新建、图像显示、操作图像像素(2种涂色并比较算法优劣、输出RGB)

    目录 一.读取图像与新建图像 1.读取图像 2.新建图像 二.显示图像 1.过程 2.代码 3.运行效果 三.操作图像像素 1.逐RGB涂色(单循环)(快) 1-1.过程 2-2.代码 2-3.运行结 ...

  10. bzoj 2375: 疯狂的涂色

    2375: 疯狂的涂色 Time Limit: 5 Sec  Memory Limit: 128 MB Description 小t非常喜爱画画,但是他还是一个初学者.他最近费尽千辛万苦才拜到已仙逝的 ...

最新文章

  1. 虚拟机复制后需要改什么_网站改版后为什么需要每月运营维护?
  2. DG备库磁盘空间满导致无法创建归档
  3. 请简述一下线程的sleep()方法和yield()方法的区别?
  4. CAN笔记(7) CAN协议(二)
  5. golang之终端操作,文件操作
  6. zookeeper3.4.5集群安装
  7. 以前进行的程序安装创建了挂起的文件操作(SqlServer2000或SqlServer 2000 SP4补丁安装) .
  8. Kaggle注册及绑定手机号
  9. OSChina 周六乱弹 —— 我媳妇是条蛇
  10. 通过任意数量点拟合曲线
  11. nfc和红外线的区别_比较NFC支付、蓝牙支付、红外线支付技术的优缺点
  12. 【Android探索】基于OpenCV的微液滴粒径分析APP
  13. kali Linux 2021 新版安装
  14. android的usb热插拔,Android M能让外部存储变成内部存储 支持U盘热插拔
  15. LeetCode 319. 灯泡开关
  16. 2017 Multi-University Training Contest - Team 8:Fleet of the Eternal Throne(AC自动机)
  17. 批处理 检测U盘插入并自动备份文件
  18. 你三十岁的生日,我写文章纪念 (西祠旧贴)
  19. 基于51单片机万年历可调电子时钟闹钟温度(实物图+源码+仿真+原理图+论文)
  20. 优雅的99乘法表以及format使用

热门文章

  1. 六类双绞线排序和信息插座排序
  2. libjpeg-turbo使用实例(编解码jpeg、jpg转bmp、bmp转jpg代码)
  3. 私募基金相关知识介绍(一)——TOT
  4. wps2016向程序发送命令_「向程序发送命令时出现问题」打开Word提示向程序发送命令时出现问题怎么办? - seo实验室...
  5. 如何避免字节流读取文本乱码
  6. essay--网络常用省略语大全(ZT)
  7. DDD与数据事务脚本
  8. linux删除大量过期文件,linux删除大量文件的6种方法
  9. 斗破苍穹hd和java版区别_《斗罗大陆》和《斗破苍穹》的区别有哪些?
  10. Android 调用Gmail发送邮件