#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
long long wAw[25][25][25];
void w(long long a,long long b,long long c)
{
for(int i=0;i<=a;i++)
{
for(int j=0;j<=b;j++)
{
for(int h=0;h<=c;h++)
{
if(i==0||j==0||h==0)wAw[i][j][h]=1;
else if(i<j&&j<h)wAw[i][j][h]=wAw[i][j][h-1]+wAw[i][j-1][h-1]-wAw[i][j-1][h];
else wAw[i][j][h]=wAw[i-1][j][h]+wAw[i-1][j-1][h]+wAw[i-1][j][h-1]-wAw[i-1][j-1][h-1];
}
}
}
}
int main()
{
long long a,b,c;
for(;;)
{
long long a1,b1,c1;
scanf("%lld%lld%lld",&a,&b,&c);
if(a==-1&&b==-1&&c==-1)break;
a1=a;
b1=b;
c1=c;
if(a<=0||b<=0||c<=0)a=b=c=0;
else if(a>20||b>20||c>20)a=b=c=20;
w(a,b,c);
printf("w(%lld, %lld, %lld) = %lld\n",a1,b1,c1,wAw[a][b][c]);
}
return 0;
}
这是我这个系列里第一个全凭自己写的,不舍得,求大佬指正