标签:一个 += 多个 namespace 照相 pac 老师 最大的 space
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll dp[32][32][32][32][32],n,k[5]; //枚举最后一个编号最大的同学的位置,DP代表着abcde及这么多个人的总数,那么a-1bcde的总数也可求得 ll DP(int a,int b,int c,int d,int e){ if(dp[a][b][c][d][e]!=0) return dp[a][b][c][d][e]; ll s=0; if(a>0&&a>b) s+=DP(a-1,b,c,d,e); if(b>0&&b>c) s+=DP(a,b-1,c,d,e); if(c>0&&c>d) s+=DP(a,b,c-1,d,e); if(d>0&&d>e) s+=DP(a,b,c,d-1,e); if(e>0) s+=DP(a,b,c,d,e-1); dp[a][b][c][d][e]=s; return s; } int main() { while (cin>>n&&n!=0){ memset(dp,0,sizeof(dp)); memset(k,0,sizeof(k)); dp[1][0][0][0][0]=1; for(int i=0;i<n;i++) cin>>k[i]; cout<<DP(k[0],k[1],k[2],k[3],k[4])<<endl; } return 0; }
标签:一个 += 多个 namespace 照相 pac 老师 最大的 space
原文地址:https://www.cnblogs.com/MorrowWind/p/13056321.html