1008: [HNOI2008]越狱

Time Limit: 1 Sec Memory Limit: 162 MB

Submit: 6192 Solved: 2636

[Submit][Status][Discuss]

Description

监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱

Input

输入两个整数M,N.1<=M<=10^8,1<=N<=10^12

Output

可能越狱的状态数,模100003取余

Sample Input

2 3

Sample Output

6

HINT

6种状态为(000)(001)(011)(100)(110)(111)

感觉没什么好说的,找出公式后,快速幂求值,%%%之后即可
公式为:ans=M^N-M*(M-1)^(N-1)

代码:

#include<iostream>
#include<cstdio>
using namespace std;
int qpow(long long m,long long n,long long k)
{
int b = 1;
while (n > 0)
{
if (n & 1)
b = (b*m)%k;
n = n >> 1 ;
m = (m*m)%k;
}
return b;
} int main()
{
long long n=0,m=0;
scanf("%lld%lld",&m,&n);
long long ans=1;
ans=(qpow(m,n,100003)-m*qpow(m-1,n-1,100003)%100003+100003)%100003;
printf("%lld",ans);
return 0;
}

最新文章

  1. css3实现超出文本指定行数(指定文本长度)用省略号代替
  2. artTemplate 这么叼
  3. 第 15 章 CSS 文本样式[下]
  4. 菜单each+hover
  5. Java RMI 框架
  6. 用vi修改文件,保存文件时,提示“readonly option is set”的解决方法
  7. Android操作系统服务(Context.getSystemService() )
  8. PHP ServerPush
  9. 运用预加载提升H5移动页面的用户体验
  10. java使用AES加密解密 AES-128-ECB加密
  11. CNN算法解决MNIST数据集识别问题
  12. maven与jdk版本对应关系
  13. 【C#复习总结】细说委托
  14. C# pdf转word
  15. CSS3D写3d画廊滚动
  16. json模块 &amp; pickle模块
  17. Kernel 3.0.8 内存管理函数【转】
  18. POJ 1655 - Balancing Act - [DFS][树的重心]
  19. 【JVM】参数配置
  20. HLOCAL 初探

热门文章

  1. 第8课 goto 和 void 分析
  2. AC日记——过河卒 洛谷 1002
  3. js常用宽高属性
  4. 12Mybatis_用mapper代理的方式去开发以及总结mapper开发的一些问题
  5. SQL 时间处理
  6. android 合并两个jar包
  7. 整理MAC下Eclipse的常用快捷键
  8. C++ List的用法(整理)
  9. 从Python爬虫到SAE云和微信公众号:二、新浪SAE上搭建微信服务
  10. 多个相同jar存在时的引用顺序