其他分享
首页 > 其他分享> > MR.Young's Picture Permutations

MR.Young's Picture Permutations

作者:互联网

照相过程中 给定每排的人数 要求后面比前面高 左边比右边高 后面一排比前边一排人多 求解总的方案数

f[0][0][0][0][0]=1;
for(int i=1;i<=a[1];i++)
	for(int j=0;j<=min(i,a[2]);j++)
		for(int k=0;k<=min(j,a[3]);k++)
			for(int l=0;l<=min(k,a[4]);l++)
				for(int p=0;p<=min(l,a[5]);p++)
				{
					ll &x=f[i][j][k][l][p];
					if(i-1>=j) x+=f[i-1][j][k][l][p];
					if(j-1>=k) x+=f[i][j-1][k][l][p];
					if(k-1>=l) x+=f[i][j][k-1][l][p];
					if(l-1>=p) x+=f[i][j][k][l-1][p];
					if(p) 	   x+=f[i][j][k][l][p-1];
				}
printf("%lld\n",f[a[1]][a[2]][a[3]][a[4]][a[5]]);
  1. 动态规划要注意的三个要素: 转移方程 初始状态 目标状态
  2. 对于每次次循环 每一个引用 都要注意是不是合法
  3. KB是千字节 不是千bit
  4. 检查两个地方: 一个是思路 第二个是变量名的对应关系

标签:Picture,int,后面,Permutations,Young,一排,printf,lld
来源: https://www.cnblogs.com/juruoHBr/p/15870974.html