60分求助!!! #3 #7
  • 板块P1464 Function
  • 楼主levy3304
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/8/24 21:31
  • 上次更新2023/11/3 01:24:51
查看原帖
60分求助!!! #3 #7
990838
levy3304楼主2023/8/24 21:31
#include<bits/stdc++.h>
#define ll long long
using namespace std; 
bool vis[21][21][21];
ll v[21][21][21];
ll w(int a,int b,int c){
	if(a<=0||b<=0||c<=0) return 1;
	else if(vis[a][b][c]) return v[a][b][c];
	else if(a<b&&b<c) v[a][b][c]=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
	else v[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);
	vis[a][b][c]=true;
	return v[a][b][c];
}
int main(){
	ll a=0,b=0,c=0;
	memset(vis,false,sizeof(vis));
	while(1){
		cin>>a>>b>>c
		if(a==-1&&b==-1&&c==-1) break;
		ll ina=a,inb=b,inc=c;
		if(a>20||b>20||c>20){
			a=20;
			b=20;
			c=20;
		}
		cout<<"w("<<ina<<", "<<inb<<", "<<inc<<")"<<" = "<<w(a,b,c)<<endl;
	}
	return 0;
}
2023/8/24 21:31
加载中...