链接:https://ac.nowcoder.com/acm/contest/85/C
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

毕竟是元宵节,晚上还是要吃几个元宵。 Etéreo 家可是个大家庭,元宵的数量,甚至是餐具的数量,都多的惊人。现在,爱数学的 Etéreo 又来问你有趣的数学题了,快来秒掉它!   Etéreo 家里有 ς\varsigmaς 种元宵馅, ϑ\varthetaϑ 种元宵皮,每个元宵可以选择任意一种元宵馅和任意一种元宵皮。同时有 ϖ\varpiϖ 张桌子,每张桌子上放了 ϱ\varrhoϱ 只碗,每只碗能放一只元宵。每只碗都要装一只元宵。Etéreo 会告诉你 ς,ϑ,ϖ,ϱ\varsigma, \vartheta, \varpi, \varrhoς,ϑ,ϖ,ϱ 的值,想请问你有多少种装元宵的方式。答案对 Λ\LambdaΛ 取模。 
两种方式被认为是不同的当且仅当至少有一只碗存在于两种方式的同一个位置但是里面有至少一个元宵不同。 
两个元宵被认为是不同的当且仅当元宵馅不同或者元宵皮不同。 
碗和桌子都是有编号的,但是你不能改变碗或桌子的编号。 
你可以认为碗和桌子都是固定的,你只能改变元宵的种类和位置。

输入描述:

输入共一行,五个整数 ς,ϑ,ϖ,ϱ,Λ\varsigma, \vartheta, \varpi, \varrho, \Lambdaς,ϑ,ϖ,ϱ,Λ ,意义同题目描述。

输出描述:

每行一个整数,表示答案。

示例1

输入

复制

1 2 1 3 998244353

输出

复制

8

备注:

0≤ς,ϑ≤10180 \leq \varsigma, \vartheta \leq 10^{18}0≤ς,ϑ≤10^18
0≤ϖ,ϱ≤1060 \leq \varpi, \varrho \leq 10^60≤ϖ,ϱ≤10^6
1≤Λ≤1,000,000,0071 \leq \Lambda \leq 1,000,000,0071≤Λ≤1,000,000,007

题解:

设元宵馅为啊,元宵皮为b,桌子编号为c,碗的编号为d,取模数为e。

由样例可以确定题目所求答案为(a*b)的(c*d)次方%e(也只有这个解释说得通)。

那么你求个次方取个模不就行了吗?no,看下数据范围。首先c,d 的范围是10^6,那么所求数可能要乘10^12次,显然光靠循环是解决不了的,这时候就要用到快速幂。这时候再观察一下a,b的范围10^18,显然这么大的数去快速幂是很麻烦的,那么在进行快速幂之前我们就要把快速幂的第一个参数取余,让它尽可能小。

#include <iostream>
#include <algorithm>using namespace std;typedef long long ll;
ll a,b,c,d,e;ll quickpower(ll a,ll n)
{ll res=1;while(n){if(n&1) res=res*a%e;a=a*a%e;n>>=1;}return res;
}int main(){
//  freopen("input.txt","r",stdin);std::ios::sync_with_stdio(false);cin>>a>>b>>c>>d>>e;a%=e,b%=e;//a,b取模在快速幂前让第一个参数尽可能小if(e==1) cout<<"0";//特殊情况,任何情况下如果模数为1,那么结果就为0else cout<<quickpower(a*b%e,c*d);//a,b取模在快速幂前让第一个参数尽可能小,这里c*d决不能取模,因为尽管它的值大于了模数,当时它是次方啊,是第一个参数的多少次方,怎么能缩减呢?return 0;
}

牛客小白月赛1分元宵相关推荐

  1. 牛客小白月赛27 B.乐团派对

    牛客小白月赛27 B.乐团派对 题目链接 题目描述 音乐是带给大家快乐的存在,而你的目标就是组建若干支乐队,让世界听到你们的演奏! 你目前有 nnn 位乐手,每位乐手只能进入一个乐队,但并不是每位乐手 ...

  2. 牛客小白月赛16 小石的签到题(博弈)

    牛客小白月赛16 小石的签到题 链接:https://ac.nowcoder.com/acm/contest/949/A来源:牛客网 题目描述 输入描述: 共一行,输入一个数 nnn . 输出描述: ...

  3. F.孤独(牛客小白月赛39)

    F.孤独(牛客小白月赛39) 题意: 给定一棵树,寻找一个路径,将断掉所有与这个路径上的点相连的边,使得剩下的最大连通块的大小最小 题解: 这题有点印象,感觉做过,至少这个方法肯定遇到过 设dp[u] ...

  4. 牛客小白月赛58 B(暴力)C(思维)D(dp滚动数组优化)

    牛客小白月赛58 感觉没什么意思,这场月赛出题人有点问题. B 题意:给定一定的数据填充顺序和每一个填充层的名称,只有填充满了上一层才可以填充下一层. 但是每一层又属于某一个大层,一个大层中包含了若干 ...

  5. 牛客小白月赛65个人题解A-E

    1. 牛客小白月赛65 A. 牛牛去购物 题意:给定n元,购买价格为a元的篮球和价格为b的篮球,数量不定,要使得花掉的钱最多,也就是剩余的钱数最少,求这个值 (1 <= n, a, b < ...

  6. 牛客小白月赛24 J.建设道路

    牛客小白月赛24 J.建设道路 题目链接 题目描述 牛牛国有 nnn 个城市,编号为 1-n,第 iii 个城市有一个价值 aia_iai​ ,牛国的国王牛阔落特别喜欢在牛牛国旅游,并且他不想每次旅游 ...

  7. 牛客小白月赛4 D.郊区春游

    牛客小白月赛4 D.郊区春游 题目链接 题目描述 今天春天铁子的班上组织了一场春游,在铁子的城市里有 nnn 个郊区和 mmm 条无向道路,第 iii 条道路连接郊区 AiA_iAi​ 和 BiB_i ...

  8. 牛客小白月赛25 C.白魔法师

    牛客小白月赛25 C.白魔法师 题目链接 题目描述 你是一个白魔法师. 现在你拿到了一棵树,树上有 个点,每个点被染成了黑色或白色. 你可以释放一次魔法,将某个点染成白色.(该点不一定是黑色点,也可以 ...

  9. 牛客小白月赛60(A~C)题解

    原题地址:牛客小白月赛60_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 题目A:小竹与妈妈 题意:输出(x-b)/a即可,没什么好说 代码: #include< ...

  10. 牛客小白月赛5 I.区间 (interval)

    牛客小白月赛5 I.区间 (interval) 题目链接 题目描述 Apojacsleam喜欢数组.他现在有一个n个元素的数组a,而他要对a[L]-a[R]进行M次操作:操作一:将a[L]-a[R]内 ...

最新文章

  1. pyqt 槽任意参数_PyQt5快速入门(二)PyQt5信号槽机制
  2. 走进移动支付:开启物联网时代的商务之门
  3. 绵阳python培训_《绵》原文及翻译海绵翻译
  4. Java ByteArrayOutputStream reset()方法及示例
  5. 关于SQL Server的日期时间数据类型
  6. Linux 的 top 命令平均负载
  7. hmcl手机版下载_最新HMCL下载地址
  8. 纽约比加州时间早3个小时 - 送给自己
  9. delphi random_delphi产生随机数
  10. C++“准”标准库Boost学习指南(3):Boost.Utility
  11. 图之深度优先生成森林
  12. 微信注册验证成功之后不跳转_微信为什么会被限制登录?被限制后我们该怎么办?...
  13. 简单的proxy之TinyHTTPProxy.py
  14. 无名管道(pipe)--实现管道双向通信
  15. linux kernel X-tranx-Y : Ethernet-to-Gadget
  16. springboot 简单的扫码登录 demo
  17. 第十届软件杯(民航大数据在线可视化分析系统)
  18. 金蝶K3仓存管理模块术语表
  19. 欧尼酱讲JVM(24)—字节码文件的跨平台性
  20. 庆祝我的新浪博客升级到第十级

热门文章

  1. padavan手动安装php
  2. 综合实验-基于RS485的多机评分系统
  3. 云计算中心和超算中心有何区别?
  4. c语言今天星期几问题,C语言输入今天星期几
  5. qua数据统计缺失问题之终结
  6. 3种方式教你怎样显示手机wifi密码,不再愁密码忘记了
  7. chrome浏览器添加crx插件
  8. w764位计算机右键管理,为win764位旗舰版右键添加“管理员取得所有权”方法
  9. win7计算机还原点建立,win7系统每次启动自动创建还原点的处理技巧
  10. docker 假死 僵尸状态