1 条题解
- 
  -1
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
 - 难度
 - 3
 - 标签
 - 递交数
 - 28
 - 已通过
 - 19
 - 上传者