Help!!!60pts
  • 板块P1464 Function
  • 楼主Twistzz__
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/10/9 19:15
  • 上次更新2023/11/2 14:46:50
查看原帖
Help!!!60pts
390568
Twistzz__楼主2023/10/9 19:15
#include<bits/stdc++.h>
using namespace std;
long long i,j,k,dp[21][21][21];
long long w(int a,int b,int c){
	if(a<=0 || b<=0 || c<=0)return 1;
	if(a>20 | b>20 | c>20){
		if(dp[20][20][20]!=0)return dp[20][20][20];
		else{
			dp[20][20][20]=w(20,20,20);
			return dp[20][20][20];
		}
	}
	if(dp[a][b][c]!=0)return dp[a][b][c];
	if(a<b && b<c){
		if(dp[a][b][c]!=0)return dp[a][b][c];
		else{
			if(a<=20 && b<=20 && c<=20)dp[a][b][c]=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
			return w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
		} 
	}
	if(a<=20 && b<=20 && c<=20){
		dp[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 dp[a][b][c];
	}else return 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 1;
}
int main(){
	while(cin>>i>>j>>k){
		if(i==-1 && j==-1 && j==-1)return 0;
		else cout<<"w("<<i<<", "<<j<<", "<<k<<") = "<<w(i,j,k)<<endl;
	}
	return 0;
}

求 巨 助 ! ! !

2023/10/9 19:15
加载中...