1 条题解
-
1
#include<bits/stdc++.h> using namespace std; long long a,b,c,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; else if(a>20||b>20||c>20) return w(20,20,20); else if(f[a][b][c]!=0) return f[a][b][c]; else 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(){ 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
- 456
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者