全wa了,各位来帮帮孩子吧

P1464 Function

sajdhkja @ 2022-01-29 16:26:21

#include<bits/stdc++.h>
#define int long long
using namespace std;const int inf=1e5+10;
#define endl '\n'
int memory[25][25][25];
struct node{
    int a,b,c;
};

// unordered_map<node,int>q;

int w(node root)
{

    // if(q.count(root))return q[root];
    if(root.c<=0||root.b<=0||root.a<=0){return 1;}
    if(root.c>20||root.b>20||root.a>20){root.c=20,root.b=20,root.a=20;}
    if(memory[root.a][root.b][root.c])return memory[root.a][root.b][root.c];
    if(root.a<root.b&&root.b<root.c){
        memory[root.a][root.b][root.c]=w({root.a,root.b,root.c-1})+w({root.a,root.b-1,root.c-1})+w({root.a,root.b-1,root.c});
        // q[root]=k;
        return memory[root.a][root.b][root.c];
    }
    else{
        memory[root.a][root.b][root.c]=w({root.a-1,root.b,root.c})+w({root.a-1,root.b-1,root.c})+w({root.a-1,root.b,root.c-1})-w({root.a-1,root.b-1,root.c-1});
        // q[root]=k;
        return memory[root.a][root.b][root.c];
    }
}

signed main()
{
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    node root;

    while (cin>>root.a>>root.b>>root.c,!(root.c==-1&&root.b==-1&&root.a==-1))
    {
        node copy=root;
        int ans=w(root);
        printf("w(%lld, %lld, %lld) = %lld\n",copy.a,copy.b,copy.c,ans);
    }

    return 0;
}

by StarLbright40 @ 2022-01-29 16:37:48

@sajdhkja 你是怎么敢关了流同步又用 printf 的啊


by sajdhkja @ 2022-01-29 18:49:24

@星光0000 啊,其实我也不太明白这个东西,之前我看别人说不要即用cout又用printf就可以


|