1 条题解
-
0赵青海 (huhe) LV 7 SU @ 2021-8-8 1:32:17
C++ :
#include<bits/stdc++.h> using namespace std; int k,a[6]; void work() { memset(a,0,sizeof(a)); for(int i=1;i<=k;++i) cin>>a[i]; long long f[a[1]+1][a[2]+1][a[3]+1][a[4]+1][a[5]+1]; memset(f,0,sizeof(f)); f[0][0][0][0][0]=1;/*什么都不选也是一种情况*/ for(int i=0;i<=a[1];++i) for(int j=0;j<=a[2];++j) for(int s=0;s<=a[3];++s) for(int l=0;l<=a[4];++l) for(int m=0;m<=a[5];++m) { if(i<a[1]) f[i+1][j][s][l][m]+=f[i][j][s][l][m]; if(j<a[2]&&i>j) f[i][j+1][s][l][m]+=f[i][j][s][l][m]; if(s<a[3]&&j>s) f[i][j][s+1][l][m]+=f[i][j][s][l][m]; if(l<a[4]&&s>l) f[i][j][s][l+1][m]+=f[i][j][s][l][m]; if(m<a[5]&&l>m) f[i][j][s][l][m+1]+=f[i][j][s][l][m]; } printf("%lld\n",f[a[1]][a[2]][a[3]][a[4]][a[5]]); } int main() { while(cin>>k&&k) work(); return 0; }
- 1
信息
- ID
- 182
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 23
- 已通过
- 15
- 上传者