1 条题解
-
0
C++ :
#include<bits/stdc++.h> using namespace std; /* w(a,b,c) a<=0 || b<=0 || c<=0 w(a,b,c) = 1 a>20 || b>20 || c>20 w(a,b,c)= w(20,20,20); w(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-l) */ int s[101][101][101]; int w(int a,int b,int c){ if(a<=0 || b<=0 || c<=0){ s[0][0][0] = 1; return 1; } else if(a>20 || b>20 || c>20){ if(s[20][20][20]==0) s[20][20][20] = w(20,20,20); return s[20][20][20]; } else { if(s[a-1][b][c]==0) s[a-1][b][c] = w(a-1,b,c); if(s[a-1][b-1][c]==0) s[a-1][b-1][c] = w(a-1,b-1,c); if(s[a-1][b][c-1]==0) s[a-1][b][c-1] = w(a-1,b,c-1); if(s[a-1][b-1][c-1]==0) s[a-1][b-1][c-1] = w(a-1, b-1,c-1); return s[a-1][b][c] + s[a-1][b-1][c] + s[a-1][b][c-1] - s[a-1][b-1][c-1]; } } int main(){ int a,b,c; cin>>a>>b>>c; cout<<w(a,b,c); return 0; }
- 1
信息
- ID
- 2583
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者