您的位置:首页 > 其它

lightoj1213 - Fantasy of a Summation

2016-05-21 00:52 309 查看
题目链接:http://lightoj.com/volume_showproblem.php?problem=1213

嘛。。。sb题

发现对于循环最内层的每一项,都有n中选择,也就是一个∑n−1i=0ai

所以答案是knk−1∑n−1i=0ai

#include <stdio.h>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long LL;
LL qpow(LL a,LL b,LL mod){
LL ans=1;
if(a==0)return 0;
while(b){
if(b&1){
ans*=a;
ans%=mod;
}
b>>=1;
a*=a;
a%=mod;
}
return ans;
}
int main(void)
{
int t,cas=0;
scanf("%d",&t);
while(t--){
LL n,k,mod;
scanf("%lld%lld%lld",&n,&k,&mod);
LL sum=0,ai;
for(int i=1;i<=n;i++){
scanf("%lld",&ai);
sum+=ai;
sum%=mod;
}
printf("Case %d: %lld\n",++cas,((qpow(n,k-1,mod)*sum)%mod*k)%mod);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lightoj 数学