求调
查看原帖
求调
1460836
Retribution321楼主2024/12/28 08:41

只输入一行就直接输出了,也不按照格式输出,答案还是错的

#include<bits/stdc++.h>
using namespace std;
#define maxn 114514
int n=0,a[10005][3],b[maxn][maxn][maxn];
int w(int x,int y,int z){
	if(b[x][y][z]!=-1)return b[x][y][z];
	if(x<=0||y<=0||z<=0)return b[x][y][z]=1;
	if(x>20||y>20||z>20)return b[x][y][z]=w(20,20,20);
	if(x<y&&y<z)return b[x][y][z]=w(x,y,z-1)+w(x,y-1,z-1)+w(x,y-1,z);
	return b[x][y][z]=w(x-1,y,z)+w(x-1,y-1,z)+w(x-1,y,z-1)-w(x-1,y-1,z-1);
}
int main(){
	memset(b,-1,sizeof(b));
	for(;;){
		cin>>a[n][0]>>a[n][1]>>a[n][2];
		if(a[n][0]==-1&&a[n][1]==-1&&a[n][2]==-1)break;
		n++;
	}
	for(int i=0;i<=n;i++){
		cout<<"w("<<a[i][0]<<","<<a[i][1]<<","<<a[i][2]<<")="<<w(a[i][0],a[i][1],a[i][2])<<endl;
	}
	return 0;
}
2024/12/28 08:41
加载中...