垒骰子-课程笔记

浅羽技术
浅羽网络工作室官方账号
2022-05-26 01:07:07

三种方法的初始化条件:
①、创建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是否互斥。
③、将与up不冲突的dp[k-1][down1]累加给dp[k][down]。
④、k递增,重复①
④步骤,直到k等于n。
⑤、累加dp[n][down](1~6)得到sum
⑥、用快速幂算出4n。
⑦、将sum乘以4n输出结果。

...全文
14 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2

社区成员

发帖
与我相关
我的任务
社区管理员
  • community_1752
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧