【HDOJ】4504 威威猫系列故事——篮球梦

水题。

 1 #include <cstdio>
 2 #include <cstdlib>
 3 #include <cstring>
 4 
 5 #define MAXN 25
 6 int dp[MAXN][MAXN*3];
 7 
 8 void init() {
 9     int i, j, k;
10     
11     memset(dp, 0, sizeof(dp));
12     dp[0][0] = dp[1][1] = dp[1][2] = dp[1][3] = 1;
13     for (i=2; i<MAXN; ++i) {
14         for (j=0; j<MAXN*3; ++j) {
15             dp[i][j] += dp[i-1][j-1];
16             if (j >= 2)
17                 dp[i][j] += dp[i-1][j-2];
18             if (j >= 3)
19                 dp[i][j] += dp[i-1][j-3];
20         }
21     }
22 }
23 
24 int main() {
25     int a, b, t;
26     int i, j, k, tmp;
27     int mmin, mmax;
28     __int64 ans;
29     
30     #ifndef ONLINE_JUDGE
31         freopen("data.in", "r", stdin);
32     #endif
33     
34     init();
35     
36     while (scanf("%d %d %d", &a, &b, &t) != EOF) {
37         i = t / 15;
38         j = (i+1) / 2;
39         if (b < a) {
40             tmp = a - b;
41             mmin = j;
42             mmax = j * 3;
43         } else {
44             tmp = b - a;
45             mmin = tmp + i - j + 1;
46             mmax = j * 3;
47         }
48         ans = 0;
49         for (k=mmin; k<=mmax; ++k)
50             ans += dp[j][k];
51         printf("%I64d\n", ans);
52     }
53     
54     return 0;
55 }

 

转载于:https://www.cnblogs.com/bombe1013/p/4175419.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值