博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
扇形涂色问题(Python)
阅读量:2382 次
发布时间:2019-05-10

本文共 549 字,大约阅读时间需要 1 分钟。

问题描述:

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

求:有多少种涂色方法。 

备注:

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

分析:

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

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

a(n)=m(m1)(n1)a(n1),n>=3

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

转载地址:http://syfab.baihongyu.com/

你可能感兴趣的文章
新手网站建设优化,这些网站为你提供数之不尽的免费素材!(3)
查看>>
HTML特殊字符显示(常用到的特殊符号,箭头相关,数学相关,标点,符号相关等)...
查看>>
40岁的程序员找不到工作,原来码农真的是碗青春饭
查看>>
2018年前端性能优化总结,这也是我做程序员的第五个年头了
查看>>
程序员7天内面试了10家公司,如何从命中率0%到命中率至70%?
查看>>
美团第一位前端工程师竟是转行程序员!关于他的10年技术生涯
查看>>
累到想删库,程序员职业倦怠的真实生活
查看>>
CSS3实现王者荣耀匹配人员加载页面
查看>>
千辛万苦招来一名程序员,入职第一天就离职,原因让HR以为听错了
查看>>
盘点那些程序员最污的技术段子,老码农秒懂!
查看>>
程序员:活到 35 岁,我对不起谁?
查看>>
前端小白入门必学:HTML/CSS/JS编码规范
查看>>
CSS3实现王者匹配时的粒子动画效果
查看>>
从青铜到王者,10个css3伪类使用技巧和运用
查看>>
自学的程序员和自学的吉他手有很多共同点,你玩过吉他吗?
查看>>
CSS动画之旋转魔方轮播
查看>>
CSS 很容易,那为什么大家还是把 CSS 写的那么烂呢?
查看>>
IT业狼多肉少?程序员的绝地求生,谁能给他们一把“98K”?
查看>>
程序员学历的竞争:10个人面试阿里,研究生成群,4个北大
查看>>
都说web前端开发薪资高,入行就有上万月薪,转行难吗?
查看>>