代码:
#include "bits/stdc++.h"
using namespace std;
int f[30][30][30],a,b,c;
long long ak,bk,ck;
int w(int a,int b,int c){
if(a<=0||b<=0||c<=0)return 1;
if(f[a][b][c])return f[a][b][c];
if(a<b&&b<c)return f[a][b][c]=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
return f[a][b][c]=w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1);
}
int main(){
while(true){
cin>>ak>>bk>>ck;
if(ak==-1&&bk==-1&&ck==-1)break;
if(ak>20||bk>20||ck>20)a=b=c=20;
else{
a=ak;
b=bk;
c=ck;
}
cout<<"w("<<ak<<", "<<bk<<", "<<ck<<") = "<<w(a,b,c)<<endl;
}
return 0;
}
记录
qwq