求助大佬全RE
  • 板块P1464 Function
  • 楼主ajahjahah
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/7/24 09:13
  • 上次更新2023/11/4 13:30:07
查看原帖
求助大佬全RE
357378
ajahjahah楼主2021/7/24 09:13
#include<bits/stdc++.h>
using namespace std;
long long a,b,c,d[25][25][25];
long long w(long long a,long long b,long long c){
	long long output;
	if(a>0&&b>0&&c>0&&d[a][b][c]){
		output=d[a][b][c];
	}
	else if(a<=0||b<=0||c<=0){
		output=1;
	}
	else if(a>20||b>20||c>20){
		return w(20,20,20);
	}
	else if(a<b&&b<c){
		output=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
	}
	else{
		output=w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1);
	}
	d[a][b][c]=output;
	return output;
}
int main(){
	while(cin>>a>>b>>c){
		if(a==-1&&b==-1&&c==-1){
			break;
		}
		printf("w(%lld, %lld, %lld) = %lld\n",a,b,c,w(a,b,c));
	}
	return 0;
}

2021/7/24 09:13
加载中...