1 条题解
-
0
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
- 上传者