2
社区成员




三种方法的初始化条件:
①、创建hc二维数组:判断骰子面与骰子面之间是否互斥。
例如:1与2排斥
对应hc数组: hc[1][2]=true hc[2][1]=true
②、创建op数组:将骰子对应面配对。
例如:(题目中有提示)骰子上1的对面为4
对应op数组:op[1]=4 op[4]=1
注意:两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同,所以一个垒好的骰子柱,每个骰子都能转4次,表示不同方案。
解题路径:
①、确定已垒好的骰子朝上的面数字up。
②、枚举down1(16)判断与up是否互斥。④步骤,直到k等于n。
③、将与up不冲突的dp[k-1][down1]累加给dp[k][down]。
④、k递增,重复①
⑤、累加dp[n][down](1~6)得到sum
⑥、用快速幂算出4n。
⑦、将sum乘以4n输出结果。