1 条题解

  • 0
    @ 2024-12-24 9:49:23

    C :

    #include <stdio.h>
    int main()
    {
    	int dp[31][31],g,l,n1,n2,num=0;;
    	for(g=1;g<=30;g++)
    	dp[g][0]=g;
    	for(l=1;l<=30;l++)
    	dp[0][l]=0;
    	dp[0][0]=0;
    	for(g=1;g<=30;g++)
    	for(l=1;l<=30;l++)
    	{
    		dp[g][l]=dp[g-1][l]+dp[g-1][l-1]+1;
    	}
    	while(scanf("%d%d",&n1,&n2)!=EOF)
    	{
    		if(n1==0&&n2==0)
    		break;
    		num++;
    		printf("Case %d: %d\n",num,dp[n1][n2]);
    	}
    	return 0;
    }
    

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    int d[35][35];
    
    void init()
    {
    	memset(d,0,sizeof(d));
    	for (int i=0;i<35;i++) d[i][0]=i;
    }
    
    int main()
    {
    	int g,l;
    	int casenum=1;
    	while(scanf("%d%d",&g,&l)!=EOF&&(g||l)){
    		init();
    		if (l>g) l=g;
    		for (int i=1;i<=g;i++){
    			for (int s=1;s<=g;s++){
    				d[i][s]=d[i-1][s]+d[i-1][s-1]+1;
    			}
    		}
    		printf("Case %d: %d\n",casenum++,d[g][l]);
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    836
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者