问题定义

一个圆划分为N个扇形,现用M种颜色对其上色,要求相邻两块扇形的颜色不能相同,问有多少种上色方案?(其中N>=1,M>=3)
注意:不考虑对称性,例如:一个圆划分为2个扇形,用3种颜色上色方案有“黑红,黑白,白红,白黑,红白,红黑”6种,相当于每个扇形都有编号,是不一样的。

解题思路

采用数学归纳的思想。求n个扇形的上色方案,相当于在n-1个扇形中插入一个扇形,这时只需考虑两种情况:1、第1个扇形和第n-1个扇形颜色不一样,这有s(n-1)种情况,此时插入的扇形n有m-2种颜色选择;2、第1个扇形和第n-1个扇形颜色一样(n>3),这有s(n-2)种情况,此时插入的扇形n有m-1种颜色选择。
由以上分析可得:

s(1) = m;
s(2) = m(m-1);
s(3) = m(m-1)(m-2);
s(n) = s(n-1)*(m-2)+s(n-2)*(m-1);

代码

#include <stdio.h>
#include <iostream>
#include <math.h>using namespace std;int fun(int n, int m) {int r;if (n == 1) r = m;else if (n == 2) r = m * (m - 1);else if (n == 3) r = m * (m - 1)*(m - 2);else {r = fun(n - 1, m)*(m - 2) + fun(n - 2, m)*(m - 1);}return r;
}int main() {int n, m;cin >> m >> n;int r = fun(n, m);cout << r;system("pause");return 0;
}

阿里实习测评:扇形涂色问题相关推荐

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

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

  2. 橡皮擦的英语_从填字涂鸦到英语启蒙,家长口中的儿童版“秘密花园”涂色游戏测评【玩具测评】...

    #前情提要#丰富的拓展玩法让简单的穿珠游戏大不同,点击<手眼协调与数学启蒙,用线绳穿珠游戏促进能力发展>了解详情. 今天我们为大家带来了一篇绘画+英语启蒙学习玩具的测评报告.这款玩具是植绒 ...

  3. 三菱880彩铅和uni的区别_彩铅测评|150色荷尔拜因彩铅初体验

    这套荷尔拜因150色彩铅放在购物车也有小半年了,终于下手了! 亚马逊海淘全新加税费是1700多,闲鱼有卖家出售未使用的1600多包邮,所以决定还是在闲鱼直接买了.毕竟海淘本身运输时间就长,加上现在国外 ...

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

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

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

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

  6. bzoj 2375: 疯狂的涂色

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

  7. [CQOI2007]涂色PAINT

    题意: 给你目标字符串的状态,现可以将连续一段字符串染色,求最小的染色次数 题解: 我们定义dp[i][j]是区间i到区间j最小的涂色次数 区间dp的核心思想实际上是由一个个小区间进行合并成为大区间, ...

  8. 【BZOJ4817】【SDOI2017】树点涂色 [LCT][线段树]

    树点涂色 Time Limit: 10 Sec  Memory Limit: 128 MB [Submit][Status][Discuss] Description Bob有一棵n个点的有根树,其中 ...

  9. P1283 平板涂色

    P1283 平板涂色 题目描述 CE数码公司开发了一种名为自动涂色机(APM)的产品.它能用预定的颜色给一块由不同尺寸且互不覆盖的矩形构成的平板涂色. 为了涂色,APM需要使用一组刷子.每个刷子涂一种 ...

最新文章

  1. 细数二十世纪最伟大的10大算法
  2. matlab if语句多个执行举例,初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲...
  3. javafx 值对_我今天对JavaFX的了解
  4. Java Se相关测试题(偏线程、集合)含答案及详解
  5. python3 ftp服务器_python3实现ftp服务功能(服务端 For Linux)
  6. ASP.NET MVC:mvc pattern
  7. 使用Perl实现系统管理自动化(第二版) 中文电子版
  8. 自定义view跟手移动android,Android自定义view圆并随手指移动
  9. 开发APP软件需要多少钱?
  10. “熊猫烧香”制造者的起伏人生
  11. iOS音乐播放器(歌词自动滚动)
  12. A股实时行情接口资源分享
  13. 2018秋季学习总结
  14. [cesium] | 城市警情模拟
  15. 【python练习】羊车门问题
  16. 柔性作业车间调度问题 (FJSSP)
  17. 我的中软国际实习Day16
  18. IPC机制(三)--->Android中的几种IPC方式
  19. 佳明表盘 c语言开发的吗,Garmin MonkeyC的写法和经验
  20. Java小白必须掌握的英语单词(3)

热门文章

  1. 2022国内IP公司大盘点,你都听过哪几个?
  2. App上架App Store
  3. 有关S-D5舵机的控制
  4. 一台自动售货机只接收 1 元硬币、1 元纸币以及 5 元纸币。如果买一 个笔记本需要 6 元,有多少种付款方式_______68__________。
  5. java毕业设计——基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码)——即时通讯工具
  6. 妙笔生花是一种怎样的体验?这款平板让娱乐办公可兼得
  7. 以假乱真的【酷点】 - Windows下 模仿 Apple 界面
  8. 河北正定县2010年政府工作报告(1)
  9. 优友机器人价格_优友,大型商用服务机器人
  10. ios9/sdk9/xcode7/iphone6s(+)适配