20分蒟蒻求调
  • 板块P1464 Function
  • 楼主tank737
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/13 14:01
  • 上次更新2024/10/13 14:01:53
查看原帖
20分蒟蒻求调
1460508
tank737楼主2024/10/13 14:01
#include <iostream>
#define int long long
using namespace std;
int f[22][22][22]={0};
int w(int a,int b,int c){
    if(a<=0||b<=0||c<=0)
        return 1;
    else if(f[a][b][c]!=0)
        return f[a][b][c];
    else if(a>20||b>20||c>20)
        return w(20,20,20);
    else 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);
    else
        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);
    return f[a][b][c];
}

signed main(){
    int a,b,c;
    scanf("%lld%lld%lld",&a,&b,&c);
    while(a!=-1&&b!=-1&&c!=-1){
        printf("w(%lld, %lld, %lld) = %d\n",a,b,c,w(a>20?21:a,b>20?21:b,c>20?21:c));
        scanf("%lld%lld%lld",&a,&b,&c);
    }
    return 0;
}
2024/10/13 14:01
加载中...