soj 1893. Sell Ticket

来源:互联网 发布:jsp页面调用java方法 编辑:程序博客网 时间:2024/06/06 06:36

题意:

公园售票,票价五元,现在有n个有十元的人和n个有五元的人,问有多少种排列顺序让售票员在售票的时候不用用到公园内部的零钱。

思路:

动态规划,sum[i][j]表示前i个人,和为j的排列种数。

#include <cstdio>#include <cstring>long long sum[70][35];void calc(){memset(sum, 0, sizeof(sum));sum[0][0] = 1;for (int i = 1; i <= 60; ++ i){sum[i][0] = sum[i-1][1];for (int j = 1; j <= 30; ++ j)sum[i][j] = sum[i-1][j+1] + sum[i-1][j-1];}}void output(){int n;while (scanf("%d", &n), n)printf("%lld\n", sum[n<<1][0]);}int main(){calc();output();}

原创粉丝点击