#include <stdio.h>
int main()
{
__int64 A,B,t;
while (scanf("%I64d",&A)!=EOF)
{
__int64 dp[20][61]={{0}};
scanf("%I64d%I64d",&B,&t);
__int64 num=t/15,temp=num;
if (num%2==0)
num/=2;
else
num=num/2+1;
int i,j;
dp[0][1]=dp[0][2]=dp[0][3]=1;
for (i=1;i<=num-1;i++)
{
for (j=i;j<=i*3;j++)
{
dp[i][j+1]+=dp[i-1][j];
dp[i][j+2]+=dp[i-1][j];
dp[i][j+3]+=dp[i-1][j];
}
}
__int64 ans=B-A+(temp-num);
__int64 total=0;
if (num!=0)
{
for (j=i;j<=i*3;j++)
{
if (j>ans)
total+=dp[i-1][j];
}
printf("%I64d\n",total);
}
else if (A>B)
//如果一局都没有进行且赢了
printf("1\n");
else
//如果一局都没有进行而输了
printf("0\n");
}
return 0;
}
HDU4504
最新推荐文章于 2014-12-22 09:56:18 发布