只输入一行就直接输出了,也不按照格式输出,答案还是错的
#include<bits/stdc++.h>
using namespace std;
#define maxn 114514
int n=0,a[10005][3],b[maxn][maxn][maxn];
int w(int x,int y,int z){
if(b[x][y][z]!=-1)return b[x][y][z];
if(x<=0||y<=0||z<=0)return b[x][y][z]=1;
if(x>20||y>20||z>20)return b[x][y][z]=w(20,20,20);
if(x<y&&y<z)return b[x][y][z]=w(x,y,z-1)+w(x,y-1,z-1)+w(x,y-1,z);
return b[x][y][z]=w(x-1,y,z)+w(x-1,y-1,z)+w(x-1,y,z-1)-w(x-1,y-1,z-1);
}
int main(){
memset(b,-1,sizeof(b));
for(;;){
cin>>a[n][0]>>a[n][1]>>a[n][2];
if(a[n][0]==-1&&a[n][1]==-1&&a[n][2]==-1)break;
n++;
}
for(int i=0;i<=n;i++){
cout<<"w("<<a[i][0]<<","<<a[i][1]<<","<<a[i][2]<<")="<<w(a[i][0],a[i][1],a[i][2])<<endl;
}
return 0;
}