题目描述

Description

  kotori最近迷上了摆气球的游戏。她一共有n种气球,每种气球有无数个。她要拿出若干个气球摆成一排。

  但是,由于气球被施放了魔法,同样种类的气球如果相邻会发生爆炸,因此若两个相邻的气球种类相同被视为不合法的。

  kotori想知道,摆成一排m个一共有多少种不同的方案?

  由于该数可能过大,只需要输出其对109取模的结果。

Input

  输入仅有一行,为两个整数n和m(1≤n,m≤100)

Output

  输出一个整数,为方案数对109取模的结果。

Sample input Sample output
3 2 6

算法思路

  考的高中的排列组合,比如现在有 n 种气球,要按规则排 m 个。第一个哪种都没关系,所以第一位气球有 n 种选择;第二个气球不能和第一个气球一样,所以第二位气球有 n-1 种选择;第三个气球不能和第二个气球一样,所以也是有 n-1 中选择。

  n 种气球 m 个,共有 n∗(n−1)m−1{n * (n-1)^{m-1}}n∗(n−1)m−1 种排列方案。

  这个题最后要求输出取模,就要考虑超时的问题,直接快速幂取模算法,此算法详解请参照 :题解专栏(四):Icebound and Sequence

代码实现

C

#include<stdio.h>
int main(void){int n,m;int i=1;scanf("%d%d",&n,&m);i = n%109;//快速幂while(m>1){i = i*(n-1)%109;//快速幂m--;}printf("%d",i);return 0;
}

Python

待续

JAVA

待续

题解专栏(七):kotori和气球相关推荐

  1. 东北大学C语言课程题库题解专栏目录

    东北大学C语言课程题库题解专栏目录   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为:亓官劼,地址为亓 ...

  2. 牛客网 - [北京信息科技大学第十一届程序设计竞赛]kotori和气球(排列组合)

    题目链接:https://ac.nowcoder.com/acm/contest/940/B/ 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64 ...

  3. 北京信息科技大学第十一届程序设计竞赛(重现赛)B kotori和气球

    链接:https://ac.nowcoder.com/acm/contest/940/B 来源:牛客网 题目描述 kotori最近迷上了摆气球的游戏.她一共有n种气球,每种气球有无数个.她要拿出若干个 ...

  4. 题解专栏(三):河北美食

    题目描述 Description   不知不觉当中,河北成为了一些人心中的"美食荒漠",除了驴肉火烧,大抵想不起什么河北的美食了.大概是京津太过闪耀,盖过了冀菜的光芒.其实河北并不 ...

  5. c++ opencv编程实现暗通道图像去雾算法_OpenCV图像处理专栏十五 |一种基于亮度均衡的图像阈值分割技术...

    前言 对于光照不均匀的图像,用通常的图像分割方法不能取得满意的效果.为了解决这个问题,论文<一种基于亮度均衡的图像阈值分割技术>提出了一种实用而简便的图像分割方法.该方法针对图像中不同亮度 ...

  6. java计算整数出现的次数_[剑指offer题解][Java]1到n整数中1出现的次数

    前言 众所周知,<剑指offer>是一本"好书". 如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白. 对于剑指offer题解这个系列,我的 ...

  7. java queue 最大值_[剑指offer题解]队列的最大值/滑动窗口的最大值

    前言 众所周知,<剑指offer>是一本"好书". 为什么这么说? 因为在技术面试中,它里面罗列的算法题在面试中出现的频率是非常非常高的. 有多高,以我目前不多的面试来 ...

  8. java 最大子数组_[剑指offer题解][Java]连续子数组的最大和

    前言 众所周知,<剑指offer>是一本"好书". 如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白. 对于剑指offer题解这个系列,我的 ...

  9. c++ opencv编程实现暗通道图像去雾算法_OpenCV图像处理专栏十三 | 利用多尺度融合提升图像细节...

    前言 今天为大家介绍一个利用多尺度来提升图像细节的算法.这个算法来自于论文<DARK IMAGE ENHANCEMENT BASED ON PAIRWISE TARGET CONTRAST AN ...

最新文章

  1. angularjs 让当前路由重新加载_Vuerouter(路由)
  2. pom.xml设置mysql连接_maven工程配置pom.xml实现mybatis的访问数据库操作
  3. 关于Combobox的多选和单选情况
  4. 26.智能指针和动态内存
  5. String定义字符串,实际操作
  6. 资深美术分享:游戏开发如何确定画风?
  7. 成为最大的独立开源公司,对SUSE意味着什么? | 人物志
  8. linux看dns解析的时间,curl测试dns解析时间
  9. dorado-初学1
  10. EF ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象...
  11. 算不算被虚度的这几年
  12. 为numpy数组增加一个维度的方法
  13. AutoCAD2015激活码和密钥
  14. serviceBattery mac换电池 mac怎么换电池mac拆机
  15. Vi编辑器的使用方法及用vi编辑器编写一个C程序
  16. Python_阿里云物联网_数据/图像/音频传输
  17. BFS-BZOJ-1615-[Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
  18. 记录一次华为无线AP5030DN瘦转胖
  19. 阿里极客公益——1000+阿里技术专家来回答你的问题或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里1000+位技术专家来云栖问答为你解答技
  20. 嵌入式linux详解,嵌入式Linux详解

热门文章

  1. 应聘web前端开发面试时问到的基础问题
  2. FreeType 管理字形
  3. 【渝粤教育】电大中专电子商务网站建设与维护 (4)作业 题库
  4. 【Excel】巧用数组——多项目跨越多个调整期的利息计算器
  5. 1w存银行一年多少利息_银行存款100万,一年后可以拿到多少钱?
  6. 我的读书笔记 -《人性的弱点》
  7. 普通计算机如何按照mac,普通电脑怎么装苹果系统_普通笔记本能装苹果系统吗-win7之家...
  8. 秒杀系统常用的削峰方法
  9. 2018.8.4T3(大容斥)
  10. Linux vim 纵向编辑