[HNOI2008] 越狱 快速幂

水。考虑不发生越狱的情况:即宗教相同的都不相邻,一号任意放\(m\)种宗教的人,此后\(n-1\)个房间都放与上一个宗教不同的人,有\(m-1\)种,所以共有\(m*(m-1)^{n-1}\)种。答案即\(m^n-m*(m-1)^{n-1}\)。快速幂即可。

注意,这里需要考虑模后相减为负的情况,此时将负值再加上模数变为正数即可。

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

最新文章

  1. Nodejs之MEAN栈开发(六)---- 用Angular创建单页应用(上)
  2. React学习笔记。
  3. 使用VS2013分析DMP文件
  4. Java方法调用中的别名处理
  5. vs出现“已经在解决方案中打开了具有该名称的项目”问题的解决方案
  6. python的 map,filter, reduce, enumerate
  7. U-boot的环境变量: bootcmd 和bootargs
  8. pb中创建连接webservice对象实例方法
  9. 如何正确的使用uwsgi
  10. Vue组件实例间的直接访问
  11. JPA之helloWorld
  12. Webpack 2 视频教程 008 - WDS 端口号等配置相关
  13. 【Zabbix】zabbix设置邮件报警
  14. The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)
  15. 微信小程序支付(PHP后端)
  16. js获取元素提示信息
  17. C#以太坊基础入门
  18. Spring 事件
  19. ACM-ICPC 2018 徐州赛区网络预赛 G Trace(逆向,两颗线段树写法)
  20. extjs 事件监听 三种方式

热门文章

  1. vue 中使用rem布局
  2. redis键的排序操作
  3. Markdown中有序列表和无序列表
  4. 图像识别领域的一些code
  5. SQL 语句使用关键字错误
  6. JS实现数组去重(重复元素保留一个)
  7. ASE19团队项目 beta阶段 model组 scrum3 记录
  8. (六)图数据neo4j之cypher(一)
  9. Ceph 调整crush map
  10. 服务器CPU架构演变过程