zoukankan      html  css  js  c++  java
  • hdoj 1799 循环多少次?

    循环多少次?

    Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 3322    Accepted Submission(s): 1235


    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
     
    此题不会写,期中最重要的是建立模型  你会发现这是一个杨辉三角模型
    转载舍友的    网址http://blog.csdn.net/chenzhenyu123456/article/details/45029347
     

    #include<stdio.h>
    #include<string.h>
    #define MAX 2100
    int a[MAX][MAX];
    int main()
    {
    	int n,m,j,i,s,sum,t;
    	for(i=1;i<MAX;i++)
    	{
    		a[1][i]=0;
    		a[i][1]=i%1007;
    	}
    	for(i=2;i<MAX;i++)
    	{
    		for(j=2;j<MAX;j++)
    		{
    			a[i][j]=(a[i-1][j-1]%1007+a[i-1][j]%1007)%1007;
    		}
    	}
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%d%d",&m,&n);
    	    printf("%d
    ",a[n][m]);
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    Windows Server 2008 R2 服务器系统安装及配置全过程图文详解
    c#多线程
    DevExpress之TreeList控件用作导航使用说明
    Windows操作系统下搭建Git服务器和客户端。
    D^3CTF 2021 8-bit-pub
    shiro-1.2.4反序列化分析踩坑
    *CTF2021 oh-my-bet
    无线网络密码破解初体验
    瑞昱rtl819x-SDK-v3.4.14b的watchdog分析
    RC4加密算法
  • 原文地址:https://www.cnblogs.com/tonghao/p/4551770.html
Copyright © 2011-2022 走看看