1 条题解
-
1麦嘉峻 (maijiajun) LV 10 @ 2023-1-5 8:58:05
记忆化递归。
#include<bits/stdc++.h> using namespace std; long long qp[25][25][25]; long long w(int a,int b,int c) { if(a<=0||b<=0||c<=0)return 1; if(a>20||b>20||c>20) { if(qp[20][20][20])return qp[20][20][20]; return qp[20][20][20]=w(20,20,20); } if(a<b&&b<c) { if(qp[a][b][c])return qp[a][b][c]; return qp[a][b][c]=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c); } if(qp[a][b][c])return qp[a][b][c]; return qp[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() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); long long a,b,c; cin>>a>>b>>c; cout<<w(a,b,c); // 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; }
- 1
信息
- ID
- 2634
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 15
- 已通过
- 7
- 上传者