救命,加了记忆化结果全输出0
  • 板块P1464 Function
  • 楼主The_NewBoy
  • 当前回复8
  • 已保存回复8
  • 发布时间2021/5/24 19:15
  • 上次更新2023/11/4 22:46:48
查看原帖
救命,加了记忆化结果全输出0
356055
The_NewBoy楼主2021/5/24 19:15
#include<bits/stdc++.h>
#define zyq 1536
using namespace std;
vector<long long> ans,ta,tb,tc;
long long qwq[40][40][40];
long long f(long long a,long long b,long long c){
    if(a<=0 or b<=0 or c<=0) return 1;
    else if(a>20 or b>20 or c>20) qwq[a][b][c] = f(20,20,20);
    else if(qwq[a][b][c]!=0) return qwq[a][b][c]; 
    else if(a<b and b<c) qwq[a][b][c] = f(a,b,c-1)+f(a,b-1,c-1)-f(a,b-1,c);
    else if(qwq[a][b][c]==-1) qwq[a][b][c]=f(a-1,b,c)+f(a-1,b-1,c)+f(a-1,b,c-1)-f(a-1,b-1,c-1);
    return qwq[a][b][c];
}
int main(){
	std::ios::sync_with_stdio(false);
	memset(qwq,0,sizeof(qwq));
    long long tmpa,tmpb,tmpc;
    long long i=0;
    while(1){
        cin>>tmpa>>tmpb>>tmpc;
        if(tmpa==-1 and tmpb==-1 and tmpc==-1) break;
        i++ ;
        ta.push_back(tmpa);
        tb.push_back(tmpb);
        tc.push_back(tmpc);
        ans.push_back(f(tmpa,tmpb,tmpc));
    }
    for(int j=0;j<i;j++){
        cout<<"w("<<ta[j]<<", "<<tb[j]<<", "<<tc[j]<<") "<<"="<<ans[j]<<endl;
    }
} 
2021/5/24 19:15
加载中...