6 条题解
-
2
#include <bits/stdc++.h> using namespace std; long long f[30][30][30]; 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); if(f[a][b][c]!=0) return f[a][b][c]; if(a<b && b<c) f[a][b][c] = w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c); else f[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); return f[a][b][c]; } int main(){ long long a,b,c; while(cin >> a >> b >>c){ if (a==-1&&b==-1&&c==-1)return 0; cout<<"w("<<a<<", "<<b<<", "<<c<<") = "<< w(a,b,c)<<endl; } return 0; }
信息
- ID
- 1230
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 646
- 已通过
- 133
- 上传者