1 条题解
-
0
C++ :
#include <cstdio> int main(){ int x, y; if(scanf("%d %d", &x, &y) != 2) return 0; /* 只能向下或向右:从 (0,0) 到 (x,y) 的路径数 = C(x+y, x) x,y <= 10 -> x+y <= 20,用递推表算组合数 */ long long c[32][32]; for(int i=0;i<=x+y;i++){ c[i][0] = 1; for(int j=1;j<=i;j++) c[i][j] = (j == i) ? 1 : c[i-1][j-1] + c[i-1][j]; } printf("%lld\n", c[x+y][x]); return 0; }
- 1
信息
- ID
- 2671
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者