7 条题解

  • 1
    @ 2025-11-30 15:38:23

    包AC,我老师教的,错了找我老师

    #include<bits/stdc++.h>
    #define ll long long
    using namespace std;
    ll f[25][25][25],vis[25][25][25];
    ll w(ll a,ll b,ll c){
    	if(a<=0||b<=0||c<=0)return 1;
    	if(a>20||c>20||b>20)return w(20,20,20);;
    	if(vis[a][b][c]!=0)return f[a][b][c];
    	vis[a][b][c]=1;
    	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(){
    	ll a,b,c;
    	while(true){
    		cin>>a>>b>>c;
    		if(a==-1&&b==-1&&c==-1){
    			break;
    		}
    		cout<<"w("<<a<<", "<<b<<", "<<c<<") = "<<w(a,b,c)<<endl;
    	}
    	return 0;
    }
    

    信息

    ID
    1230
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    741
    已通过
    154
    上传者