#include <bits/stdc++.h>
#define int long long
using namespace std;
int n[130][130][130];
int dg(int a,int b,int c)
{
if(a<=0||b<=0||c<=0)
return 1;
else if(n[a][b][c]!=0)
return n[a][b][c];
else if(a>20||b>20||c>20)
n[a][b][c]=dg(20,20,20);
else if(a<b&&b<c)
n[a][b][c]=dg(a,b,c-1)+dg(a,b-1,c-1)+dg(a,b-1,c);
else return dg(a-1,b,c)+dg(a-1,b-1,c)+dg(a-1,b,c-1)-dg(a-1,b-1,c-1);
return n[a][b][c];
}
signed main(int argc, char** argv)
{
int a,b,c;
while(cin>>a>>b>>c)
{
if(a==b&&b==c&&c==-1)
break;
int p=0;
cout<<"w("<<a<<", "<<b<<", "<<c<<") = ";
p=dg(a,b,c);
cout<<p<<endl;
}
return 0;
}
怎么办,被水题切了,啊啊啊啊啊啊