#2错了求助!!!
  • 板块P1464 Function
  • 楼主hz_prxxx
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/1/22 21:31
  • 上次更新2024/1/23 09:00:09
查看原帖
#2错了求助!!!
855510
hz_prxxx楼主2024/1/22 21:31

附上代码

#include<bits/stdc++.h>
using namespace std;
long long ret[105][105][105]={0};
long long x,y,z;
long long s1[10010],s2[10010],s3[10010],s[10010]; 
long long w(long long a,long long b,long long c){
	if(a<=0||b<=0||c<=0) return 1;
	if(a>20||b>20||c>20) return w(20,20,20);
	long long k;
	if(ret[a][b][c]) return ret[a][b][c];
	if(a<b&&b<c) k=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
	else k=w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1);
	ret[a][b][c]=k;
	return k;
}
int main(){
	long long i=0;
	while(true){
		cin>>x>>y>>z;
		if(x!=-1||y!=-1||z!=-1){
			s1[i]=x;
			s2[i]=y;
			s3[i]=z;
			s[i]=w(x,y,z);
			i++;
		}
		else break;
	}
	for(long long j=0;j<i;j++){
		cout<<"w("<<s1[j]<<", "<<s2[j]<<", "<<s3[j]<<") = "<<s[j];
		if(j!=i-1) cout<<endl;
	}
	return 0;
}
2024/1/22 21:31
加载中...