T!J!
2024-06-01 10:41:45
发布于:上海
15阅读
0回复
0点赞
谢谢你,输出样例。***。
#include<iostream>
using namespace std;
using T = long long;
T arr[21][21][21]{};
T w(T a,T b,T c){
if(a < 1 || b < 1 || c < 1)return 1;
if(a > 20 || b > 20 || c > 20)return 1048576;
if(arr[a][b][c])return arr[a][b][c];
if(a < b && b < c)return arr[a][b][c]=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
return arr[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);
}
int main(){
T a{},b{},c{};
while(1){
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;
}
这里空空如也
有帮助,赞一个