WA了四个SOS
  • 板块P1464 Function
  • 楼主jason_2012
  • 当前回复3
  • 已保存回复3
  • 发布时间2025/8/5 18:06
  • 上次更新2025/8/5 18:47:17
查看原帖
WA了四个SOS
1640685
jason_2012楼主2025/8/5 18:06

本蒟蒻感觉这道题不是很难,就是要用记忆化搜索,连怎么递归题目都告诉你了,字面很好理解。 可是我却WA了4个,递归的公式也和题目给的一样,哪位大佬能帮帮我改一下下,我一定会关注你的。(抱大腿

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
ll w[25][25][25];
ll dfs(ll a,ll b,ll c){
	if(a<=0||b<=0||c<=0) return 1;
    if(a>20||b>20||c>20) return dfs(20,20,20);
    if(w[a][b][c]) return w[a][b][c];
    if(a<b&&b<c) w[a][b][c]=dfs(a,b,c-1)+dfs(a,b-1,c-1)-dfs(a,b-1,c);
    else w[a][b][c]=dfs(a-1,b,c)+dfs(a-1,b-1,c)+dfs(a-1,b,c-1)-dfs(a-1,b-1,c-1);
    return w[a][b][c];
}
int main(){
    ll a,b,c;
    while(cin>>a>>b>>c){
        if(a==-1||b==-1||c==-1)break;
        cout<<"w("<<a<<", "<<b<<", "<<c<<") = "<<dfs(a,b,c)<<endl;
    }
    return 0;
}
2025/8/5 18:06
加载中...