博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
E - Fantasy of a Summation LightOJ1213
阅读量:5462 次
发布时间:2019-06-16

本文共 2686 字,大约阅读时间需要 8 分钟。

E - Fantasy of a Summation

Time Limit: 
2000/1000 MS (Java/Others)      Memory Limit: 128000/64000 KB (Java/Others)
Submit 

Problem Description

If you think codes, eat codes then sometimes you may get stressed. In your dreams you may see huge codes, as I have seen once. Here is the code I saw in my dream.

1 #include 
2 3 int cases, caseno; 4 int n, K, MOD; 5 int A[1001]; 6 7 int main() { 8 scanf("%d", &cases); 9 while( cases-- ) {10 scanf("%d %d %d", &n, &K, &MOD);11 12 int i, i1, i2, i3, ... , iK;13 14 for( i = 0; i < n; i++ ) scanf("%d", &A[i]);15 16 int res = 0;17 for( i1 = 0; i1 < n; i1++ ) {18 for( i2 = 0; i2 < n; i2++ ) {19 for( i3 = 0; i3 < n; i3++ ) {20 ...21 for( iK = 0; iK < n; iK++ ) {22 res = ( res + A[i1] + A[i2] + ... + A[iK] ) % MOD;23 }24 ...25 }26 }27 }28 printf("Case %d: %d\n", ++caseno, res);29 }30 return 0;31 }

 

Actually the code was about: 'You are given three integers n, K, MOD and n integers: A0, A1, A2 ... An-1, you have to write K nested loops and calculate the summation of all Ai where i is the value of any nested loop variable.'

Input

Input starts with an integer T (≤ 100), denoting the number of test cases.

Each case starts with three integers: n (1 ≤ n ≤ 1000), K (1 ≤ K < 231), MOD (1 ≤ MOD ≤ 35000). The next line contains n non-negative integers denoting A0, A1, A2 ... An-1. Each of these integers will be fit into a 32 bit signed integer.

 

Output

For each case, print the case number and result of the code.

Sample Input

23 1 350001 2 32 3 350001 2

Sample Output

Case 1: 6Case 2: 36
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 using namespace std;13 typedef long long LL;14 const int N=1e5+10;15 const int INF=0x3f3f3f3f;16 int cas=1,T;17 int n,k,mod;18 int quick_mod(int t,int n)19 {20 int ans=1;21 while(n)22 {23 if(n&1) ans=ans*t%mod;24 t=t*t%mod;25 n>>=1;26 }27 return ans;28 }29 int main()30 {31 //freopen("1.in","w",stdout);32 // freopen("1.in","r",stdin);33 // freopen("1.out","w",stdout);34 scanf("%d",&T);35 while(T--)36 {37 scanf("%d%d%d",&n,&k,&mod);38 int ans=0;39 for(int i=0,x;i
solve.cpp

 

题解:

仔细研究一下代码会发现只是一条公式:k*n^(k-1)*(a1+a2+...+an)

然后快速幂即可,注意不要被循环绕晕

 

转载于:https://www.cnblogs.com/cdyboke/p/7010529.html

你可能感兴趣的文章
火狐无法访问本机IIS部署的网站,弹出:此地址使用了一个通常用于网络浏览以外目的的端口.出于安全原因,Firefox 取消了该请求 的解决办法...
查看>>
前端兼容性问题解决方案(二)
查看>>
JVM调优(二)经验参数设置
查看>>
博弈学习笔记
查看>>
LinQ Lambda表达式用作泛型活动
查看>>
python 基础学习1
查看>>
017 Letter Combinations of a Phone Number
查看>>
今天博客正式开始使用,平时会写一些金融方面的文章,周末会写一些计算机方面的...
查看>>
amoeba读写分离
查看>>
Linux 常用命令
查看>>
客户端断开后怎么让服务器上的后台仍在运行
查看>>
windows下apache服务器开启压缩和网页缓存
查看>>
大三时MySQL课程设计《MySQL集群的研究与实现》
查看>>
JAVA课程05
查看>>
POJ 3345-Bribing FIPA(树状背包)
查看>>
Python----字符串常用方法总结
查看>>
ios-tableviewcell初始化为什么要用static NSString *str = @"mycell"中得static
查看>>
java对象与JSON字符串互转jar,及其用法
查看>>
springboot学习1
查看>>
Mahout in action 中文版-6.分布式推荐计算-6.1
查看>>