博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电1799--循环多少次
阅读量:7063 次
发布时间:2019-06-28

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

循环多少次?

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 3331    Accepted Submission(s): 1239

Problem Description
  我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分。例如,
如果代码中出现
for(i=1;i<=n;i++) OP ;
那么做了n次OP运算,如果代码中出现
fori=1;i<=n; i++)
  for(j=i+1;j<=n; j++) OP;
那么做了n*(n-1)/2 次OP 操作。
现在给你已知有m层for循环操作,且每次for中变量的起始值是上一个变量的起始值+1(第一个变量的起始值是1),终止值都是一个输入的n,问最后OP有总共多少计算量。
 

 

Input
  有T组case,T<=10000。每个case有两个整数m和n,0<m<=2000,0<n<=2000.
 

 

Output
  对于每个case,输出一个值,表示总的计算量,也许这个数字很大,那么你只需要输出除1007留下的余数即可。
 

 

Sample Input
2 1 3 2 3

 

 

 

Sample Output
3 3

 

 

 

Author
wangye
 
//此题有毒;参考别人代码写出; 什么组合数+打表,不好搞;
1 #include
2 int biao[2010][2010]; 3 int main() 4 { 5 int t,i,j; 6 scanf("%d",&t); 7 for(i=0;i<2010;i++) 8 { 9 biao[i][i]=1;10 biao[i][1]=i%1007;11 }12 for(i=2;i<2010;i++)13 for(j=1;j

 

  

 

转载于:https://www.cnblogs.com/soTired/p/4575603.html

你可能感兴趣的文章
smartsvn学习(二)如何在Xcode下使用SVN
查看>>
我的友情链接
查看>>
二维条码防伪封签是怎样进行防伪的
查看>>
今天,让Mac更好用!
查看>>
EXCHANGE 备忘
查看>>
教你深入系统的学习linux系统
查看>>
前台向后台隐藏传参数
查看>>
Oracle10g手工创建数据库
查看>>
JS下载文件
查看>>
Nginx 模块常用命令介绍
查看>>
thinkphp5.0框架swoole的使用
查看>>
继上一篇SQL练习题,给出答案
查看>>
慕课网-Java从零打造企业级电商项目实战_项目初始化_项目结构
查看>>
Esper学习笔记二:进程模型
查看>>
Linux环境PHP7.0安装
查看>>
Reactor 响应式编程
查看>>
Dubbo多注册中心和Zookeeper服务的迁移
查看>>
Linux网络相关、firewalld和netfilter
查看>>
linux基础(day30)
查看>>
四周第五次课(11月10日) 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩
查看>>